skywalking8.1.0(一) 安装与部署
skywalking部署
背景介绍
目前公司后端服务全部为微服务并运行在kubernetes集群上,而大量的微服务的背后拥有很复杂的调用关系,纵使你是公司的资深开发也很难理清每一个后端服务之间的依赖关系,并且随着公司的发展,服务数量的增加以及内部调用链的复杂化,仅凭日志监控和基础服务监控是很难做到“See the Whole Picture”, 这个时候skywalking的出现刚刚好可以解决我们目前的问题。
简介
skywalking又称应用程序性能管理(APM)工具,它和日志管理工具都具有相同的底线目标:它们可以帮助你更深入地了解应用程序中正在发生的事情。尽管目标相似,但执行方式却不同,并且每个目标都专注于应用程序中的不同方面。
APM工具提供有关应用程序性能的分析。这些分析可以包括执行代码中不同elements所花费的时间,完成某些事务所需的时间等等。
这些工具还使我们能够监视生产环境,应用程序负载(事务,请求和每秒的页面数),计算响应时间以及可能导致延迟响应的总体方向。 。
安装服务端
本片文档使用helm安装部署skywalking。
下载最新版chart 3.1
下载地址: https://mirror.bit.edu.cn/apache/skywalking/kubernetes/3.1.0/skywalking-3.1.0.tgz
$ tar xf skywalking-3.1.0.tgz
$ cd skywalking
编辑value.yaml文件(如果不是生产环境,可适当缩小资源)
# 注: 修改完pod资源大小,别忘了调整-Xmx和-Xms参数,大小可以给到2/3 左右
```
...
elasticsearch:
...
resources:
requests:
cpu: 4
memory: 8
limits:
cpu: 4
memory: 8
...
```
配置ES数据持久化
创建storageclass
注:不同云厂商提供的配置参数可能不同,按需而定,以阿里云为例:
$ cat ./storage-class.yaml
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: skywalking-disk-ssd
provisioner: alicloud/disk
reclaimPolicy: Retain
parameters:
type: cloud_ssd
regionid: cn-beijing
zoneid: cn-beijing-d,cn-beijing-c,cn-beijing-e
fstype: "ext4"
readonly: "false"
allowVolumeExpansion: true
$ kubectl create -f ./storage-class.yaml
编辑value.yaml文件
vim skywalking/values.yaml
...
elasticsearch:
...
volumeClaimTemplate:
accessModes: [ "ReadWriteOnce" ]
storageClassName: skywalking-disk-ssd
resources:
requests:
storage: 500Gi
...
persistence:
enabled: true # 持久化开关
annotations: {volume.beta.kubernetes.io/storage-class: "skywalking-disk-ssd"}
...
安装命令
$ helm install skywalking skywalking -n skywalking
安装Java-agent
关于skywalking的agent端我们可以在http://skywalking.apache.org/downloads/ 这里找到他们。
注:java-agent端的配置文件我们可以在JAVA_OPTS中进行修改,也可以通过comfigmap传入变量的方式进行修改,所以我们暂时先不动它
详细参数可查看skywalking官网的Agent Configuration Properties:https://github.com/apache/skywalking/blob/v8.0.1/docs/en/setup/service-agent/java-agent/README.md
配置skywalking的追踪忽略
在实际的生产环境中由于某些请求是不需要被追踪的,我们需要
skywalking的可选插件:apm-trace-ignore-plugin-8.0.1.jar来帮我们过滤追踪。
因为skywalking的功能组件都是可插拔的,所以我们只需要将optional-plugins/apm-trace-ignore-plugin-8.0.1.jar 移动到plugins/
apm-trace-ignore-plugin-8.0.1.jar
配置方法:
在JAVA_OPTS参数中加入:-Dskywalking.trace.ignore_path=/heartbeat,/api/v2/spans,/metrics ....
将agent端打入base镜像
$ cat Dockerfile
...
#添加skywalking插件
ADD skywalking-agent.tar.gz /opt/ole-resources/
...
在JAVA_OPTS参数最后加入skywalking的相关配置。
JAVA_OPTS: ... -javaagent:/opt/ole-resources/skywalking-agent/skywalking-agent.jar -Dskywalking.trace.ignore_path=/heartbeat,/api/v2/spans,/metrics
-Dskywalking.agent.namespace=$(POD_NAMESPACE) -Dskywalking.agent.service_name=$(POD_APP_NAME)
-Dskywalking.agent.instance_name=$(POD_NAME) -Dskywalking.collector.backend_service=skywalking-oap.skywalking.svc.cluster.local:11800
注:
若想将这些变量注入到容器中$(POD_NAMESPACE),$(POD_APP_NAME),$(POD_NAME)需要修改deployment文件,如下配置
要想讲
- env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
- name: POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
- name: POD_APP_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.labels['app']
到这里skywalking的OAP、UI、以及Agent端基本部署完成,让我们来看一下效果

后续持续更新中。。。
skywalking8.1.0(一) 安装与部署的更多相关文章
- Flume1.9.0的安装、部署、简单应用(含分布式、与Hadoop3.1.2、Hbase1.4.9的案例)
目录 目录 前言 什么是Flume? Flume的特点 Flume的可靠性 Flume的可恢复性 Flume的一些核心概念 Flume的官方网站在哪里? Flume在哪里下载以及如何安装? 设置环境变 ...
- Flume1.5.0的安装、部署、简单应用(含伪分布式、与hadoop2.2.0、hbase0.96的案例)
目录: 一.什么是Flume? 1)flume的特点 2)flume的可靠性 3)flume的可恢复性 4)flume 的 一些核心概念 二.flume的官方网站在哪里? 三.在哪里下载? 四.如何安 ...
- linux下redis4.0.2安装与部署
一.redis的介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更 ...
- Roller5.0.3安装配置部署 step by step
一.下载roller 下载地址:http://roller.apache.org/downloads/downloads.html下载下来之后,解压包含两部份doc.webapps 二.准备环境 1. ...
- Linux中(Ubuntu18.04.x/CentOS)mysql8.0.x安装/配置/部署/启动
The MySQL Connectors and APIs are the drivers and libraries that you use to connect applications in ...
- Storm-0.9.0.1安装部署 指导
可以带着下面问题来阅读本文章: 1.Storm只支持什么传输 2.通过什么配置,可以更改Zookeeper默认端口 3.Storm UI必须和Storm Nimbus部署在同一台机器上,UI无法正常工 ...
- kafka_2.11-2.0.0_安装部署
参考博文:kafka 配置文件参数详解 参考博文:Kafka[第一篇]Kafka集群搭建 参考博文:如何为Kafka集群选择合适的Partitions数量 参考博文:Kafka Server.prop ...
- Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点
Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点 一.安装docker 执行代码如下: curl -sSL https://get.daocloud.io ...
- CentOS7安装CDH 第五章:CDH的安装和部署-CDH5.7.0
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...
- 大数据篇:DolphinScheduler-1.2.0.release安装部署
大数据篇:DolphinScheduler-1.2.0.release安装部署 1 配置jdk #查看命令 rpm -qa | grep java #删除命令 rpm -e --nodeps xxx ...
随机推荐
- 利用glog打印日志
glog出自互联网豪门google,质量有保证,轻量级,入门简单,功能较全,线程安全.有关glog的打印细节本篇文章不再赘述,网上一大堆的资料,参考:glog日志库使用笔记. glog的托管地址:gi ...
- 刷题[安恒DASCTF2020四月春季赛]Ez unserialize
解题思路 打开直接源码,没别的,审就完事了 代码审计 <?php show_source("index.php"); function write($data) { retu ...
- 2019.8.14 sdfzoier
zhaojinxi wxk: lixf zhangtingyu wu jialin zhangjinhao liuxinyang zhoukaixuan
- Python-组织结构-目录结构、包导入、__init__文件、模块内置变量、* 导入限制
__pycache__ .pyc文件,中间代码,提升python运行效率 目录 分档和归类 Python项目组织结构 包 模块 类 函数.变量 # 层级依次往下都是一对多关系 Python项目目录结构 ...
- unittest培训后总结记录
今天在给同学们上了自动化测试单元框架unittest之后,突发奇想,要总结下自己今天上的课程内容.于是有了下面的一幕: 首先,今天上课的目标是要学会关于unittest框架的基本使用及断言.批量执行. ...
- C++逐字输出函数
void fun(string a) { for(int i=0;i<a.length();i++) { cout<<a[i]; usleep(10000); } cout<& ...
- np.random.multivariate_normal方法浅析
从多元正态分布中抽取随机样本. 多元正态分布,多正态分布或高斯分布是一维正态分布向更高维度的推广.这种分布由其均值和协方差矩阵来确定.这些参数类似于一维正态分布的平均值(平均值或"中心&qu ...
- Windows下安装VScode,并使用,以及中文配置
转载:https://blog.csdn.net/x15011238662/article/details/85094006 首先明确一点,VScode是开发Go应用的基础编辑器,是Microsoft ...
- 使用 PL/SQL Developer 导入 .sql 文件
操作系统:Windows 10 x64 PL/SQL Developer Version 12.0.7.1837 (64 bit) 01.226959 第一节:下载 Oracle Database X ...
- node-macaddress
下载 node-macaddressnode-macaddress 检索Linux.OS X和Windows中的MAC地址. 关于MAC地址的一个常见误解是,每个主机只有一个MAC地址, 虽然一个主机 ...