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 ...
随机推荐
- 5.Topic与Partition
- cnpm install 报错
报错如图所示,请观下文 1,npm cache clean --force 2,进入文件,rm -rf node_modules/ ---- 暴力直接
- 【MindSpore】Docker上成功使用MindSpore1.0.0的GPU版本
本文是在宿主机Ubuntu16.04上安装Docker(nvidia-docker),并成功进行MindSpore1.0.0的GPU训练: Ubuntu 16.04 Docker Nvidia-doc ...
- iOS14 debug安装的带有flutter应用从桌面图标重新启动时闪退
刚刚升级遇到的问题,希望能够帮助到遇到相同问题的人. 用xcode12连接iOS设备调试安装应用 拔掉数据线 从桌面图标点击进入App必闪退 后来发现是flutter的原因,目前有下面两种个解决方案: ...
- 新手C++ 练习项目--计算器
本篇博客用于记录我自己用C++实现的一个计算器,目标是完成加减乘除带括号的四则运算,并在后期用工厂设计模式加以优化. Part 1:calculate 1+1=2 实现这样的一个式子的计算,只需要用到 ...
- Python练习题 037:Project Euler 009:毕达哥拉斯三元组之乘积
本题来自 Project Euler 第9题:https://projecteuler.net/problem=9 # Project Euler: Problem 9: Special Pythag ...
- Java知识日常收集整理001Java获取变量的数据类型的实现方法
一.具体情况区分 对于简单类型变量,是无法直接获得变量类型的:要想获取,必须自定义函数进行返回. 对于包装类型变量,是可以直接获得的,变量名称.getClass().getName(); 二.代码实现 ...
- 剑指Offer(一):二维数组中的查找
一.前言 刷题平台:牛客网 二.题目 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整 ...
- 达梦产品技术支持培训-day7-DM8数据库备份与还原-原理
(本文部分内容摘自DM产品技术支持培训文档,如需要更详细的文档,请查询官方操作手册,谢谢) 1.DM8备份还原简介 1.1.基本概念 (1)表空间与数据文件 ▷ DM8表空间类型: ▷ SYSTEM ...
- spring-boot-route(十二)整合redis做为缓存
redis简介 redis作为一种非关系型数据库,读写非常快,应用十分广泛,它采用key-value的形式存储数据,value常用的五大数据类型有string(字符串),list(链表),set(集合 ...