07、CAT监控界面介绍

1 DashBoard

DashBoard仪表盘显示了每分钟出现错误的系统及其错误的次数和时间。

*

  • 点击右上角的时间按钮可以切换不同的展示时间,-7d代表7天前,-1h代表1小时前,now定位到当前时间
  • 上方的时间轴按照分钟进行排布,点击之后可以看到该时间到结束的异常情况
  • 下方标识了出错的系统和出错的时间、次数,点击系统名称可以跳转到Problem报表

2 Transaction

Transaction报表用来监控一段代码运行情况: 运行次数、QPS、错误次数、失败率、响应时间统计(平均影响时间、Tp分位值)等等 。

应用启动后默认会打点的部分:

打点 来源组件 描述
System cat-client 上报监控数据的打点信息
URL 需要接入cat-filter URL访问的打点信息

小时报表

Type统计界面展示了一个Transaction的第一层分类的视图,可以知道这段时间里面一个分类运行的次数,平均响应时间,延迟,以及分位线。

*

从上而下分析报表:

(1)报表的时间跨度 CAT默认是以一小时为统计时间跨度,点击[切到历史模式],更改查看报表的时间跨度:默认是小时模式;切换为历史模式后,右侧快速导航,变为month(月报表)、week(周报表)、day(天报表),可以点击进行查看,注意报表的时间跨度会有所不同。

(2)时间选择 通过右上角时间导航栏选择时间:点击[+1h]/[-1h]切换时间为下一小时/上一小时;点击[+1d]/[-1d]切换时间为后一天的同一小时/前一天的同一小时;点击右上角[+7d]/[-7d]切换时间为后一周的同一小时/前一周的同一小时;点击[now]回到当前小时。

(3)项目选择 输入项目名,查看项目数据;如果需要切换其他项目数据,输入项目名,回车即可。

(4)机器分组 CAT可以将若干个机器,作为一个分组进行数据统计。默认会有一个All分组,代表所有机器的统计数据,即集群统计数据。

(5)所有Type汇总表格 第一层分类(Type),点击查看第二级分类(称为name)数据:

*

  • Transaction的埋点的Type和Name由业务自己定义,当打点了Cat.newTransaction(type,name)时,第一层分类是type,第二级分类是name。
  • 第二级分类数据叫是统计相同type下的所有name数据,数据均与第一级(type)一样的展示风格

(6)单个Type指标图表 点击show,查看Type所有name分钟级统计,如下图:

*

(7)指标说明 显示的是小时粒度第一级分类(type)的次数、错误数、失败率等数据。

(8)样本logview L代表logview,为一个样例的调用链路。

*

(9)分位线说明 小时粒度的时间第一级分类(type)相关统计

  • 95line表示95%的请求的响应时间比参考值要小,999line表示99.9%的响应时间比参考值要小,95line以及99line,也称之为tp95、tp99。

历史报表

Transaction历史报表支持每天、每周、每月的数据统计以及趋势图,点击导航栏的切换历史模式进行查询。Transaction历史报表以响应时间、访问量、错误量三个维度进行展示,以天报表为例:选取一个type,点击show,即可查看天报表。

3 Event

Event报表监控一段代码运行次数: 例如记录程序中一个事件记录了多少次,错误了多少次 。Event报表的整体结构与Transaction报表几乎一样,只缺少响应时间的统计。

第一级分类(Type)统计界面

Type统计界面展示了一个Event的第一层分类的视图,Event相对于Transaction少了运行时间统计。可以知道这段时间里面一个分类运行的次数,失败次数,失败率,采样logView,QPS。

*

第二级分类(Name)统计界面

第二级分类在Type统计界面中点击具体的Type进入,展示的是相同type下所有的name数据,可以理解为某type下更细化的分类。

*

4 Problem

Problem记录整个项目在运行过程中出现的问题,包括一些异常、错误、访问较长的行为。Problem报表是由logview存在的特征整合而成,方便用户定位问题。 来源:

1、 业务代码显示调用Cat.logError(e)API进行埋点,具体埋点说明可查看埋点文档;
2、 与LOG框架集成,会捕获log日志中有异常堆栈的exception日志;
3、 long-url,表示Transaction打点URL的慢请求;
4、 long-sql,表示Transaction打点SQL的慢请求;
5、 long-service,表示Transaction打点Service或者PigeonService的慢请求;
6、 long-call,表示Transaction打点Call或者PigeonCall的慢请求;
7、 long-cache,表示Transaction打点Cache.开头的慢请求;

所有错误汇总报表 第一层分类(Type),代表错误类型,比如error、long-url等;第二级分类(称为Status),对应具体的错误,比如一个异常类名等。

*

错误数分布 点击type和status的show,分别展示type和status的分钟级错误数分布:

*

5 HeartBeat

Heartbeat报表是CAT客户端,以一分钟为周期,定期向服务端汇报当前运行时候的一些状态。

JVM相关指标

以下所有的指标统计都是1分钟内的值,cat最低统计粒度是一分钟。

JVM GC相关指标 描述
NewGc Count / PS Scavenge Count 新生代GC次数
NewGc Time / PS Scavenge Time 新生代GC耗时
OldGc Count 老年代GC次数
PS MarkSweepTime 老年代GC耗时
Heap Usage Java虚拟机堆的使用情况
None Heap Usage Java虚拟机Perm的使用情况

*

JVM Thread 相关指标 描述
Active Thread 系统当前活动线程
Daemon Thread 系统后台线程
Total Started Thread 系统总共开启线程
Started Thread 系统每分钟新启动的线程
CAT Started Thread 系统中CAT客户端启动线程

*

可以参考java.lang.management.ThreadInfo的定义

系统指标

System 相关指标 描述
System Load Average 系统Load详细信息
Memory Free 系统memoryFree情况
FreePhysicalMemory 物理内存剩余空间
/ Free / 根的使用情况
/data Free /data盘的使用情况

*

6 Business

Business报表对应着业务指标,比如订单指标。与Transaction、Event、Problem不同,Business更偏向于宏观上的指标,另外三者偏向于微观代码的执行情况。

场景示例:

  1. 我想监控订单数量。

  2. 我想监控订单耗时。

*

基线

基线是对业务指标的预测值。

基线生成算法:

最近一个月的4个每周几的数据加权求和平均计算得出,秉着更加信任新数据的原则,cat会基于历史数据做异常点的修正,会把一些明显高于以及低于平均值的点剔除。

举例:今天是2018-10-25(周四),今天整天基线数据的算法是最近四个周四(2018-10-18,2018-10-11,2018-10-04,2018-09-27)的每个分钟数据的加权求和或平均,权重值依次为1,2,3,4。

如:当前时间为19:56分设为value,前四周对应的19:56分数据(由远及近)分别为A,B,C,D,则value =(A+2B+3C+4D) / 10。

对于刚上线的应用,第一天没有基线,第二天的基线基线是前一天的数据,以此类推。

如何开启基线

只有配置了基线告警的指标,才会自动计算基线。如需基线功能,请配置基线告警。

注意事项

1、 打点尽量用纯英文,不要带一些特殊符号,例如空格()、分号(:)、竖线(|)、斜线(/)、逗号(,)、与号(&)、星号(*)、左右尖括号(<>)、以及一些奇奇怪怪的字符;
2、 如果有分隔需求,建议用下划线(_)、中划线(-)、英文点号(.)等;
3、 由于数据库不区分大小写,请尽量统一大小写,并且不要对大小写进行改动;
4、 有可能出现小数:趋势图每个点都代表一分钟的值假设监控区间是10分钟,且10分钟内总共上报5次,趋势图中该点的值为5%10=0.5;

7 State

State报表显示了与CAT相关的信息。

*

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: