SkyWalking
skywalking 简介:
特点
skywalking 组件:

组件介绍:
设计模式:
探针协议
数据查询协议:
设计
模块化设计:
轻量化设计:
优势:
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登录界面初始化并登录:


编写文章产生访问信息:

skywalking 验证数据:

skywalking web界面介绍:
skywalking仪表盘简介:

Apdex简介
skywalking仪表盘简介:
普通服务-->服务--> halo|xiaonuo|-->Overview(服务概览)
普通服务-->服务--> halo|xiaonuo|-->Instance-->选择实例-->Overview(实例概览信息):
普通服务-->服务--> halo|xiaonuo|-->Endpoint(端点信息):

普通服务-->服务--> halo|xiaonuo|-->Topology(拓扑图):
普通服务-->服务--> halo|xiaonuo|-->Instance-->示例-->Trace(请求跟踪信息):

普通服务-->服务--> halo|xiaonuo|-->Instance-->示例-->JVM(实例JVM信息):

普通服务-->服务--> halo|magedu|-->Instance-->示例-->.NET(.NET信息):

普通服务-->服务--> halo|magedu|-->Instance-->示例-->Spring Sleuth(Spring信息):

普通服务-->服务--> halo|magedu|-->Instance-->示例-->PVM( Python Virtual Machine (PVM) metrics信息):

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界面:

验证skywalking 数据:

skywalking-dubbo微服务实现链路跟踪案例:
微服务与单体服务架构:
部署注册中心:(192.168.84.137)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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 告警-钉钉:
在钉钉创建三人以上的群 设置-智能群助手-添加机器上-自定义
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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 #注意钉钉关键字
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示