天天看点

分布式链路追踪- SkyWalking使用手册

1. 模块介绍

分布式链路追踪- SkyWalking使用手册
  • 仪表盘:监控全局、服务、实例、​

    ​endpoint​

    ​几个维度的运行状态。
  • 拓扑图:以拓扑图的方式展现服务直接的关系,并以此为入口查看告警、调用链、服务状态等信息
  • 追踪:以接口列表的方式展现,追踪接口内部调用过程,可以通过​

    ​traceid​

    ​查询,进行分布式集群的日志查看及问题排查。
  • 性能剖析:单独端点进行采样分析,并可查看堆栈信息。
  • 日志:包括了​

    ​browser​

    ​​与​

    ​service​

    ​日志集合。
  • 告警:触发告警的告警列表,包括实例,请求超时等。

2. 仪表盘

分布式链路追踪- SkyWalking使用手册
  • 第一栏:监控、数据库、容器、​

    ​vm​

  • 第二栏:可以选择某个维度展示不同服务/实例/端点的数据
  • 第三栏:展示的不同维度,全局、服务、实例、端点的面板。

2.1 APM

2.1.1 Global

分布式链路追踪- SkyWalking使用手册
  • ​**Services load(CPM-callsperminute)**​

    ​:服务平均每分钟请求数。
  • ​**Slow Services(ms)**​

    ​​:慢响应服务,单位​

    ​ms​

    ​。
  • ​**Un-Health services(Apdex)**​

    ​:​

    ​Apdex​

    ​​性能指标,​

    ​1​

    ​为满分。
  • ​**Slow Endpoints(ms)**​

    ​​:全局维度的慢响应端点(​

    ​API​

    ​​)。例如一个接口,是全局​

    ​TopN​

    ​的数据,通过这个可以观测平台性能情况。
  • ​**Global Response Latency(percentileinms)**​

    ​​:全局响应延迟百分位数统计,单位​

    ​ms​

    ​。
分布式链路追踪- SkyWalking使用手册

表示采集样本中某些值的占比,​

​Skywalking​

​​有​

​**P50、P75、P90、P95、P99**​

​​一些列值。

图中的​

​**P99:950**​

​表示​

​**99%**​

​请求的响应时间在​

​**950ms**​

​​**以内。**而​

​99%​

​一般用于抛掉一些极端值,表示绝大多数请求。

  • ​**GlobalHeatmap**​

    ​:服务响应时间热力分布图,根据时间段内不同响应时间的数量显示颜色深度

可译为热力图、热度图都可以,图中颜色越深,表示请求数越多,这和​

​GitHubContributions​

​​很像,​

​commit​

​越多,颜色越深。横坐标是响应时间,鼠标放上去,可以看到具体的数量。通过热力图,一方面可以直观感受平台的整体流量,另一方面也可以感受整体性能。

2.1.2 Service

分布式链路追踪- SkyWalking使用手册
  • ​**Service Apdex**​

    ​**(数字):**当前服务的评分
  • ​**Service Apdex**​

    ​​**(折线图):**一段时间内​

    ​Apdex​

    ​评分
  • ​**Service Avg Response Times(ms)**​

    ​​:平均响应延时,单位​

    ​ms​

  • ​**Service Response Time Percentile**​

    ​​:百分比响应延时,参考​

    ​GlobalResponseLatency(percentileinms)​

  • ​**Successful Rate**​

    ​**(数字):**请求成功率
  • ​**Successful Rate**​

    ​**(折线图):**一段时间的请求成功率
  • ​**Servce Load(CPM/PPM)**​

    ​**(数字):**每分钟请求数,
  • ​**Servce Load(CPM/PPM)**​

    ​**(折线图):**不同时间的每分钟请求数
  • ​**Service Throughput(Bytes)**​

    ​**:**该指标只适用于TCP服务。当前服务的吞吐量。
  • ​**Servce Instances Load(CPM/PPM)**​

    ​**:**每个服务实例的每分钟请求数
  • ​**Show Service Instance**​

    ​**:**每个服务实例的最大延时
  • ​**Service Instance Successful Rate**​

    ​**:**每个服务实例的请求成功率

2.1.3 Instance

分布式链路追踪- SkyWalking使用手册
  • ​**Service Instance Load(CPM/PPM)**​

    ​**:**当前实例的每分钟请求数
  • ​**Service Instance Throughput(Bytes)**​

    ​​**:**该指标只适用于​

    ​TCP​

    ​服务。当前服务实例的吞吐量。
  • ​**Service Instance Successful Rate(%)**​

    ​**:**当前实例的请求成功率
  • ​**Service Instance Latency(ms)**​

    ​**:**当前实例的响应延时
  • ​**JVM CPU(Java Service)**​

    ​:​

    ​jvm​

    ​​占用​

    ​CPU​

    ​的百分比
  • ​**JVM Memory(Java Service)**​

    ​:​

    ​JVM​

    ​​内存占用大小,单位​

    ​m​

    ​,包括堆内存,与堆外内存(直接内存)
  • ​**JVM GC Time(ms)**​

    ​:​

    ​JVM​

    ​​垃圾回收时间,包含​

    ​YGC​

    ​​和​

    ​OGC​

  • ​**JVM GC Count**​

    ​:​

    ​JVM​

    ​​垃圾回收次数,包含​

    ​YGC``和``OGC​

  • ​**JVM Thread Count**​

    ​:​

    ​JavaService​

  • 其他参数为​

    ​.net​

    ​的东西

2.1.4 Endpoint

分布式链路追踪- SkyWalking使用手册
  • ​**Endpoint Load in Current Service(CPM/PPM)**​

    ​​:每个端点(​

    ​API​

    ​)每分钟请求数
  • ​**Slow Endpoints in Current Service(ms)**​

    ​​:每个端点(​

    ​API​

    ​​)的最慢响应请求时间,单位​

    ​ms​

  • ​**Successful Rate in Current Service(%)**​

    ​​:每个端点(​

    ​API​

    ​)的请求成功率

某个端点:

  • ​**Endpoint Load**​

    ​:当前端点每个时间段的请求数据
  • ​**Endpoint Avg Response Time**​

    ​:当前端点每个时间段的请求行响应时间
  • ​**Endpoint Response Time Percentile(ms)**​

    ​:当前端点每个时间段的响应时间占比
  • ​**Endpoint Successful Rate(%)**​

    ​:当前端点每个时间段的请求成功率

2.2 Database

分布式链路追踪- SkyWalking使用手册
  • ​**Database Avg Response Time(ms)**​

    ​:当前数据库事件平均响应时间,单位ms
  • ​**Database Access Successful Rate(%)**​

    ​:当前数据库访问成功率
  • ​**Database Traffic(CPM:CallsPerMinute)**​

    ​:当前数据库每分钟请求数
  • ​**Database Access Latency Percentile(ms)**​

    ​:数据库不同比例的响应时间,单位ms
  • ​**Slow Statements(ms)**​

    ​:前N个慢查询,单位ms
  • ​**All Database Loads(CPM:CallsPerMinute)**​

    ​:所有数据库中请求量排序
  • ​**Un-Health Databases**​

    ​:所有数据库不健康排名,请求成功率排名,失败最多的请求在最上。

3. 拓扑图

分布式链路追踪- SkyWalking使用手册
  • ​**AllGroups**​

    ​**:**选择服务组
  • ​**AllServices**​

    ​**:**选择服务
  • ​**CreateGroup**​

    ​**:**创建新的服务组
  • **服务引用拓扑图:**展示服务之间的调用关系,以及服务器的健康状态。

3.1 实例信息面板

分布式链路追踪- SkyWalking使用手册
  • 当前服务:可选择具体服务
  • 当前端点:可选择具体端点
  • 当前深度:可以选择展示的调用深度
  • 平均响应时间
  • 平均吞吐量
  • 平均​

    ​SLA​

  • 相应百分比

2-告警面板

3-追踪信息面板

4-服务实力性能状态面板

5-Endpoint(API)面板

4. 追踪

分布式链路追踪- SkyWalking使用手册

5. 性能剖析

分布式链路追踪- SkyWalking使用手册

6. 日志

未启用

7. 告警

  • 服务的平均响应时间在最近10分钟内有3分钟超过1秒
  • 服务的成功率在最近10分钟内有2分钟低于80%
  • 实例的平均响应时间在最近10分钟内有2分钟超过1秒
  • 数据库的平均响应时间在最近10分钟内有2分钟超过1秒
  • 端点的平均响应时间在最近10分钟内有2分钟超过1秒
  • 服务在最近10分钟内有2分钟超过1秒平均响应时间超过1秒并且成功率低于80%

8. 名词解释

  • ​**CPM/PPM**​

    ​​**:**对于​

    ​HTTP1/2​

    ​​、​

    ​gRPC​

    ​​、​

    ​RPC​

    ​​服务,这意味着每分钟调用数(​

    ​CPM:CallsPerMinute​

    ​​),对于TCP服务,这意味着每分钟包数(​

    ​PPM:PacketsPerMinute​

    ​)
  • ​**Endpoint**​

    ​**:**表示具体的服务,例如一个接口或一个定时任务。
  • **标签:**我们可以通过​

    ​core/default/searchableTracesTages​

    ​中配置标记。

9. 特殊说明