文章目录
- 一、Skywalking概述
- 1.1 核心功能
- 1.2 指标概述
- 1.2.1 一些常用指标
- 1.2.2 指标的使用方式
- 二、仪表盘
- 2.1 APM
- 2.1.1 全局维度的指标
- 2.1.2 服务维度的指标
- 2.1.3 实例维度的指标
- 2.1.4 端点维度的指标
- 2.2 数据库
- 2.3 其他
- 三、追踪
- 3.1 界面划分
- 3.2 请求链路界面分析
- 3.3 一般流程
- 参考链接
一、Skywalking概述
1.1 核心功能
- 仪表盘:是Skywalking的首页,提供了多维度下常用指标的可视化展示。
- 拓扑图:
- 追踪:查看接口的调用链,每个链路耗时、状态,如果为失败,还会展示错误信息,如果是数据库也会展示查询语句,如果是Redis还会展示操作指令,另外可以根据trace id进行筛选查询
- 性能剖析
- 日志
- 告警
- 事件
- 调试
1.2 指标概述
1.2.1 一些常用指标
每分钟请求次数:Xxx Load,指最近一段时间范围内的平均每分钟请求次数。
响应时间:Xxx Response Latency,指最近一段时间范围内的平均响应时间。
不健康指数:Apdex,越大越好,最大值为1。
成功率:Success Rate,指最近一段时间范围内请求的成功率。
响应时间百分位数:Xxx Response Time Percentile,指响应时间在某个值以下的请求占所有请求的比例。
JVM的一些指标:CPU占比、内存使用情况,GC时间和次数,线程数量,加载的类数量等。
1.2.2 指标的使用方式
排名:如多为服务使用响应时间排名。
时间序列:如服务的响应时间随时间变化的序列。
热力图:横坐标为时间,纵坐标为响应时间,坐标点的颜色为对应请求个数。
二、仪表盘
仪表盘是Skyworking的首页,提供的功能如下图所示。
2.1 APM
APM(Application Performance Monitor)意为应用性能监视器,从全局(Global)、服务(Service)、实例(Instance)和端点(Endpoint)四个维度对应用的一些关键性能指标进行监视和可视化展示。
其中,服务指一个微服务应用,端点指微服务中的一个API,实例指运行服务的服务器,使用了集群时一个服务可能有多个实例。
APM的面板如下所示。
2.1.1 全局维度的指标
Slow Xxx表示Xxx维度上使用响应时间来逆序排序。
2.1.2 服务维度的指标
2.1.3 实例维度的指标
2.1.4 端点维度的指标
2.2 数据库
- Database Traffic:当前数据库每分钟请求次数的事件序列。
- Slow Statements:慢查询按查询时间逆序排序。
2.3 其他
不常用。
三、追踪
3.1 界面划分
筛选方式
上矩形对应的是筛选方式。
基本的筛选方式:服务、实例、端点和状态。
更多筛选方式:追踪ID、持续时间、时间范围、标记(貌似不常用)。
请求列表
左下矩形对应的是请求列表,这些请求以分页形式展示,并按降序排序。
可以选择按“持续时间”或“开始时间”两种方式进行降序排序。
每个请求包含四个信息:成功(蓝色)还是失败(红色),请求方式和URL,响应时长,请求时间。
请求链路
右下矩形对应的是请求链路的界面。
3.2 请求链路界面分析
traceId点击那个灰色图标可以快速复制。
展示形式一般选择列表或表格,树结构展示界面不太友好。
统计信息没什么特别之处,重要的信息在请求链路里已经展示了。
在请求链路展示区域,可以点击条目显示详细信息,如请求对应的服务、实例、端口信息,SQL语句或Redis命令,以及报错信息、打印日志等。
3.3 一般流程
使用ELK找到目标请求的traceId,然后使用traceId去skywalking查询请求链路。
需要注意的是,traceId和requestId可能不是同一个值,看具体实现。
参考链接
Skywalking全链路追踪使用说明
企业级监控项目Skywalking详细介绍,来看看呀
skywalking全链路追踪