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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
简介: 分布式链路追踪- SkyWalking使用手册

1. 模块介绍

仪表盘: 监控全局、服务、实例、endpoint几个维度的运行状态。


拓扑图: 以拓扑图的方式展现服务直接的关系,并以此为入口查看告警、调用链、服务状态等信息


追踪: 以接口列表的方式展现,追踪接口内部调用过程,可以通过traceid查询,进行分布式集群的日志查看及问题排查。


性能剖析: 单独端点进行采样分析,并可查看堆栈信息。


日志: 包括了browser与service日志集合。


告警: 触发告警的告警列表,包括实例,请求超时等。

2. 仪表盘

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

2.1 APM

2.1.1 Global

**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有**P50、P75、P90、P95、P99**一些列值。


图中的**P99:950**表示**99%**请求的响应时间在**950ms****以内。**而99%一般用于抛掉一些极端值,表示绝大多数请求。


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


可译为热力图、热度图都可以,图中颜色越深,表示请求数越多,这和GitHubContributions很像,commit越多,颜色越深。横坐标是响应时间,鼠标放上去,可以看到具体的数量。通过热力图,一方面可以直观感受平台的整体流量,另一方面也可以感受整体性能。

2.1.2 Service

**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

**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

**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

**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. 拓扑图

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

3.1 实例信息面板

  • 当前服务:可选择具体服务
  • 当前端点:可选择具体端点
  • 当前深度:可以选择展示的调用深度
  • 平均响应时间
  • 平均吞吐量
  • 平均SLA
  • 相应百分比

2-告警面板

3-追踪信息面板

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

5-Endpoint(API)面板

4. 追踪

5. 性能剖析

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. 特殊说明

如果监控平台正常启动,监控项目也接入,但是就是没有数据,请看看是否是时区问题。

相关实践学习
基于OpenTelemetry构建全链路追踪与监控
本实验将带领您快速上手可观测链路OpenTelemetry版,包括部署并接入多语言应用、体验TraceId自动注入至日志以实现调用链与日志的关联查询、以及切换调用链透传协议以满足全链路打通的需求。
分布式链路追踪Skywalking
Skywalking是一个基于分布式跟踪的应用程序性能监控系统,用于从服务和云原生等基础设施中收集、分析、聚合以及可视化数据,提供了一种简便的方式来清晰地观测分布式系统,具有分布式追踪、性能指标分析、应用和服务依赖分析等功能。 分布式追踪系统发展很快,种类繁多,给我们带来很大的方便。但在数据采集过程中,有时需要侵入用户代码,并且不同系统的 API 并不兼容,这就导致了如果希望切换追踪系统,往往会带来较大改动。OpenTracing为了解决不同的分布式追踪系统 API 不兼容的问题,诞生了 OpenTracing 规范。OpenTracing 是一个轻量级的标准化层,它位于应用程序/类库和追踪或日志分析程序之间。Skywalking基于OpenTracing规范开发,具有性能好,支持多语言探针,无侵入性等优势,可以帮助我们准确快速的定位到线上故障和性能瓶颈。 在本套课程中,我们将全面的讲解Skywalking相关的知识。从APM系统、分布式调用链等基础概念的学习加深对Skywalking的理解,从0开始搭建一套完整的Skywalking环境,学会对各类应用进行监控,学习Skywalking常用插件。Skywalking原理章节中,将会对Skywalking使用的agent探针技术进行深度剖析,除此之外还会对OpenTracing规范作整体上的介绍。通过对本套课程的学习,不止能学会如何使用Skywalking,还将对其底层原理和分布式架构有更深的理解。本课程由黑马程序员提供。
目录
相关文章
|
6月前
|
存储 数据采集 监控
SkyWalking全景解析:从原理到实现的分布式追踪之旅
SkyWalking全景解析:从原理到实现的分布式追踪之旅
1221 1
|
存储 运维 监控
链路追踪Skywalking快速入门1
链路追踪Skywalking快速入门1
283 1
|
3月前
|
存储 监控 开发者
分布式链路监控系统问题之系统拆分后链路追踪技术的问题如何解决
分布式链路监控系统问题之系统拆分后链路追踪技术的问题如何解决
|
6月前
|
数据采集 存储 运维
如何使用SkyWalking收集分析分布式系统的追踪数据
通过以上步骤,你可以使用 SkyWalking 工具实现对分布式系统的数据采集和可视化。SkyWalking 提供了强大的追踪和度量功能,帮助开发者和运维人员更好地理解系统的性能状况。欢迎关注威哥爱编程,一起学习成长。
157 0
|
6月前
|
消息中间件 SpringCloudAlibaba Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
1009 0
|
6月前
|
Java 微服务
skywalking链路追踪时忽略指定异常
skywalking链路追踪时忽略指定异常
|
6月前
|
Java 微服务
skywalking全链路追踪
skywalking全链路追踪
|
存储 监控 数据可视化
Golang链路追踪:实现高效可靠的分布式系统监控
Golang链路追踪:实现高效可靠的分布式系统监控
|
消息中间件 监控 安全
RocketMQ x OpenTelemetry 分布式全链路追踪最佳实践(3)
RocketMQ x OpenTelemetry 分布式全链路追踪最佳实践
147 0
RocketMQ x OpenTelemetry 分布式全链路追踪最佳实践(3)
|
消息中间件 Java Kafka
RocketMQ x OpenTelemetry 分布式全链路追踪最佳实践(2)
RocketMQ x OpenTelemetry 分布式全链路追踪最佳实践(2)
145 0
RocketMQ x OpenTelemetry 分布式全链路追踪最佳实践(2)