SkyWalking
skywalking 简介:
特点
skywalking 组件:
![](https://img2023.cnblogs.com/blog/2199868/202212/2199868-20221215135340109-1168584106.png)
组件介绍:
设计模式:
探针协议
数据查询协议:
设计
模块化设计:
轻量化设计:
优势:
SkyWalking二进制及docker-compsoe安装
SkyWalking二进制安装:
部署ES
#vim /etc/sysctl.conf net.ipv4.ip_forward = 1 vm.max_map_count=262144 上传 elasticsearch-8.5.1-amd64.deb #dpkg -i elasticsearch-8.5.1-amd64.deb # vim etc/elasticsearch/elasticsearch.yml
# 修改如下配置
cluster.name: skywalking-cluster
node.name: node1
network.host: 0.0.0.0
discovery.seed_hosts: ["192.168.84.135", ]
cluster.initial_master_nodes: ["192.168.84.135", ]
xpack.security.enabled: false
xpack.security.enrollment.enabled: false
xpack.security.http.ssl:
enabled: false
xpack.security.transport.ssl:
enabled: fals:
部署skywalking:
#apt install openjdk-11-jdk -y 下载地址:https://dlcdn.apache.org/skywalking/9.3.0/apache-skywalking-apm-9.3.0.tar.gz #tar xvf apache-skywalking-apm-9.3.0.tar.gz #ln -sv /apps/apache-skywalking-apm-bin /apps/skywalking #vim /apps/skywalking/config/application.yml storage: selector: ${SW_STORAGE:elasticsearch}
clusterNodes:${SW_STORAGE_ES_CLUSTER_NODES:192.168.84.135:9200}
#cat /etc/systemd/system/skywalking.service
SkyWalking-java博客追踪案例
准备skywalking java agent:
#mkdir /data && cd /data #tar xvf apache-skywalking-java-agent-8.13.0.tgz #vim /data/skywalking-agent/config/agent.config
agent.service_name=${SW_AGENT_NAME:halo}
agent.namespace=${SW_AGENT_NAMESPACE:xiaonuo}
服务安装
apt install openjdk-11-jdk mkdir /apps && cd /apps/
halo登录界面初始化并登录:
![](https://img2023.cnblogs.com/blog/2199868/202212/2199868-20221215160850963-421506273.png)
![](https://img2023.cnblogs.com/blog/2199868/202212/2199868-20221215160948256-745515191.png)
编写文章产生访问信息:
![](https://img2023.cnblogs.com/blog/2199868/202212/2199868-20221215161103230-715758600.png)
skywalking 验证数据:
![](https://img2023.cnblogs.com/blog/2199868/202212/2199868-20221215161252513-958872193.png)
skywalking web界面介绍:
skywalking仪表盘简介:
![](https://img2023.cnblogs.com/blog/2199868/202212/2199868-20221215161455148-763895613.png)
Apdex简介
skywalking仪表盘简介:
普通服务-->服务--> halo|xiaonuo|-->Overview(服务概览)
普通服务-->服务--> halo|xiaonuo|-->Instance-->选择实例-->Overview(实例概览信息):
普通服务-->服务--> halo|xiaonuo|-->Endpoint(端点信息):
![](https://img2023.cnblogs.com/blog/2199868/202212/2199868-20221215162346896-471482450.png)
普通服务-->服务--> halo|xiaonuo|-->Topology(拓扑图):
普通服务-->服务--> halo|xiaonuo|-->Instance-->示例-->Trace(请求跟踪信息):
![](https://img2023.cnblogs.com/blog/2199868/202212/2199868-20221215162713312-1695912713.png)
普通服务-->服务--> halo|xiaonuo|-->Instance-->示例-->JVM(实例JVM信息):
![](https://img2023.cnblogs.com/blog/2199868/202212/2199868-20221215162938533-671765782.png)
普通服务-->服务--> halo|magedu|-->Instance-->示例-->.NET(.NET信息):
![](https://img2023.cnblogs.com/blog/2199868/202212/2199868-20221215163055845-1833433908.png)
普通服务-->服务--> halo|magedu|-->Instance-->示例-->Spring Sleuth(Spring信息):
![](https://img2023.cnblogs.com/blog/2199868/202212/2199868-20221215163151565-1911495434.png)
普通服务-->服务--> halo|magedu|-->Instance-->示例-->PVM( Python Virtual Machine (PVM) metrics信息):
![](https://img2023.cnblogs.com/blog/2199868/202212/2199868-20221215163230259-217796740.png)
Java服务案例-tomcat运行Jenkins实现链路跟踪案例
基础环境准备
部署tomcat:
下载并部署tomcat https://tomcat.apache.org/ :/apps# wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.84/bin/apache-tomcat-8.5.84.tar.gz :/apps# tar xvf apache-tomcat-8.5.84.tar.gz
vim /data/skywalking-agent/config/agent.config
agent.service_name=${SW_AGENT_NAME:xiaonuo}
agent.namespace=${SW_AGENT_NAMESPACE:jenkins}
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:http://192.168.84.135:11800}
vim /apps/apache-tomcat-8.5.84/bin/catalina.sh
验证jenkins web界面:
![](https://img2023.cnblogs.com/blog/2199868/202212/2199868-20221215172147903-338453141.png)
验证skywalking 数据:
![](https://img2023.cnblogs.com/blog/2199868/202212/2199868-20221216160157552-1421070716.png)
skywalking-dubbo微服务实现链路跟踪案例:
微服务与单体服务架构:
部署注册中心:(192.168.84.137)
apt install openjdk-8-jdk mkdir /apps && cd /apps wget https://dlcdn.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz tar xvf apache-zookeeper-3.7.1-bin.tar.gz cp /apps/apache-zookeeper-3.7.1-bin/conf/zoo_sample.cfg /apps/apache-zookeeper-3.7.1- bin/conf/zoo.cfg /apps/apache-zookeeper-3.7.1-bin/bin/zkServer.sh start lsof -i:2181
部署provide(192.168.84.137):
apt install openjdk-8-jdk -y mkdir /data && cd /data tar xvf apache-skywalking-java-agent-8.13.0.tgz vim /data/skywalking-agent/config/agent.config
部署consumer(192.168.84.136):
apt install openjdk-8-jdk -y mkdir /data && cd /data tar xvf apache-skywalking-java-agent-8.13.0.tgz vim /data/skywalking-agent/config/agent.config 20 agent.service_name=${SW_AGENT_NAME:dubbo-consumer1}
23 agent.namespace=${SW_AGENT_NAMESPACE:myserver}
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:${SW_SERVER}:11800} vim /etc/profile export SW_SERVER="192.168.84.135" export ZK_SERVER1="192.168.84.137"
192.168.84.136:8080/hello?name=zhangsan
验证skywalking数据:
skywalking 实现钉钉告警
skywalking 告警简介:
skywalking/backend-alarm.md at master · apache/skywalking (github.com)
skywalking 告警-指标:
cat /apps/skywalking/config/oal/core.oal service_resp_time #服务的响应时间 service_sla #服务的http请求成功率SLA,比如99%等。 service_cpm #表示每分钟的吞吐量. service_apdex : 应用性能指数是0.8是0.x service_percentile: 指定最近多少数据范围内的响应时间百分比,即p99, p95, p90, p75, p50在内的数据统计结果 endpoint_relation_cpm #端点的每分钟的吞吐量 endpoint_relation_resp_time #端点的响应时间 endpoint_relation_sla #端点的http请求成功率SLA,比如99%等。 endpoint_relation_percentile ##端点的最近多少数据范围内的响应时间百分比,即p99、p95、p90、p75、p50在内的数据统计结果
skywalking 告警-钉钉:
在钉钉创建三人以上的群 设置-智能群助手-添加机器上-自定义
vim /apps/skywalking/config/alarm-settings.yml rules: #定义rule规则 service_cpm_rule: #唯一的规则名称,必须以_rule结尾 # Metrics value need to be long, double or int metrics-name: service_cpm #指标名称 op: ">" #操作符,>, >=, <, <=, == threshold: 1 #指标阈值 # The length of time to evaluate the metrics period: 2 #评估指标的间隔周期 # How many times after the metrics match the condition, will trigger alarm count: 1 #匹配成功多少次就会触发告警 # How many times of checks, the alarm keeps silence after alarm triggered, default as same as period. #silence-period: 3 silence-period: 2 #触发告警后的静默时间 message: dubbo-provider service_cpm 大于1了 #告警信息
dingtalkHooks:
textTemplate: |-
{
"msgtype": "text",
"text": {
"content": "Apache SkyWalking Alarm: \n %s."
}
}
webhooks:
- url: https://oapi.dingtalk.com/robot/send?access_token=8dc26e5fad0f462413ef8917931765c9ff9954a5314ba2972253a15850345fd1 #注意钉钉关键字