开发者学堂课程【分布式链路追踪 Skywalking:RocketBot 的使用】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/743/detail/13158
RocketBot 的使用
介绍 UI 页面
skywalking UI 页面也就是 RocketBot 的简单使用
注意:为避免冲突,这里已经把 RocketBot 的端口改成了9010。
打开 UI 页面。
1.仪表盘页面内容
如图:
上图是整个仪表盘的页面,它有多个界面。
(1)Global 界面,它分为:
标题栏,在最上面一栏,可以对功能做选择,右上角的自动刷新指六秒钟自动刷新一次,刷新时间可自拟,如果需要手动刷新可以直接点击刷新。
两个 Dashboard 也就是一个仪表盘,一个 Service Dashboard,一个 atabase Dashboard,也就是服务和数据库,它们之间可以进行切换。现在没有连接数据库,因此数据库下没有信息,对 skywalking mysql 做一个集成,才能在 Database 进行查看。
服务、端点和实例的选择,进行选择后可以对不同服务、端点、实例进行查看,需要注意的是,这里如果需要刷新,只能点击这一栏的刷新按钮;
往下是功能界面,从左往右首先是左边的热点图,热点图显示了在某个时间段调用的平时时长,可以看到,在3点07分时候发生了一个200毫秒的调用,同时引发了一笔300毫秒的调用,如果数据多,热点图就会显示密密麻麻的热点部署。
右边是全局响应时长百分线,分为 P50 也就是50%的请求在这条线上、P75也就是75%在深灰色线上,P90、P95 和 P99,可以看到,大部分请求都集中在350毫秒上,只有一部分在290毫秒上,这样的图便于告知用户目前处于的级别也就是大部分请求所在的返回时长。
左下角显示的全局信息,有服务、端点、数据库、存储器的数量,目前没有数据库和存储器的数量,服务有两个,一个是 Tomcat,一个是 springboot,端点有三个,tomcat 里有一个 sayhello,boot 里有两个,sayboot 和exception。
再往右有一个通过 Global Top Throught 展示吞吐量,现在的吞吐量是每分钟2cpm;
最后是右下角的慢查询列表,慢查询指按照调用时长进行排序,同时排序的方式是逆序,即时长最长的在最上面,可以看到,exception 用了359毫秒,sayboot 用了296毫秒。
通过整个页面可以看到目前整体性能的情况,如果产生性能评比之后,就需要后续的追踪功能去进行细节化的一个查询。
(2)Service 界面(服务相关界面)
服务相关的状态界面下显示有:平均响应时长、吞吐量、SLA 数值等,如图:
(3)Endpoint 界面
下图是以端点维度进行统计的一些信息,
(4)Instance 界面
如图:
以上是以实例维度进行统计的一些信息,需要注意的是,实例维度还包括一些 JVM 内存情况、GC 情况、CPU 占用率和全局应用数据等信息,因此这个功能是很重要的。如果发现某个实例出现了异常,就可以在这个页面进行查询,查看是否是 CPU 或者内存出现异常。
2.拓扑图页面内容
拓扑图可以查看当前服务的连接情况和调用情况。
最近几分钟只有用户去调用了 boot,comcat 的调用是在之前,所以这里没有进行展示。
如图:
如图,它的 SLA 也就是调用成功率是50%,即一笔成功一笔失败;平均调用时长是327毫秒;每分钟的请求量是2。所以在后期如果出现了很多应用,可以直观的看到是哪些应用在调用自身的服务,这对以后应用之间的调用关系的筛查有很大帮助。
3.追踪页面内容
如图:
追踪是经常会使用的功能,在某一笔调用出现异常时,就可以通过追踪查询它的调用链,查询是哪个环节出现异常。在这里,红色代表失败,如 exception ,蓝色代表成功,如 sayBoot
(1)如图:
exception 标红说明出现异常,然后可以通过列表、数结构和表格三种方式进行切换。
这里可以选择数结构,如图:
如图,会显示信息,但是这种方式可能不是很直观。
也可以改成表格,如图:
如图,表格的形式更为直观,现在只有一笔调用,即通过 springmvc 来调用,它的耗时是359毫秒,查看细节可以通过左边点击,打开跨度信息。
如图:
往下看,如图:
包括一个堆载的异常站的信息也被打印出来了,出现的异常也在这行代码显示出来,即第一行的除0异常。用户可以通过这些打印的信息快速定位异常的信息即代码哪里出现了问题,这也是一个很重要的功能,包括之后的 mysql 调用的信息也会出现在这个跨度信息里。
(2)如图:
蓝色代表成功,即 sayBoot 接口的调用是成功的,可以看到,它的耗时是296毫秒。
同时,可以通过追踪 ID 的方式来进行查询。
如图:
输入 ID 前面的3.28后点击搜索,此时如果时间异常,需要手动修改,如果时间没有问题,可能是需要精准识别,即把 ID 完整输入。
如图:
精准查找是可行的,即模糊查找不可行。
以上就是追踪的内容,追踪其实就是查看某一笔调用链,对它的一些细节进行分析,分析链路上出现了哪些问题,从而定位故障发生的根源。
- 告警页面内容
5.指标对比页面内容
指标对比主要是用于各个服务之间的指标。
这里可以添加 springboot 的一个服务的响应时长的数据查询。
还可以在上个服务添加 tomcat 的一个服务的响应时长的数据查询,如图:
两个服务进行对比,可以看到,两个服务的接口调用时长对比如上,需要注意的是,由于最近没有使用 tomcat ,所以这里不会显示 tomcat 的时长。
这个功能适用于当功能出现异常时,对两个实例进行对比,查看两个实例之间访问的性能以及响应时长是否在同一个维度也就是在一个等级上,如果不在一个等级上,就可以分析是否有实例出现了问题。因此,指标对比这个功能也是很重要的一个功能。
以上就是 RocketBot 的简单使用。