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更偏向于宏观上的指标,另外三者偏向于微观代码的执行情况。
场景示例:
我想监控订单数量。
我想监控订单耗时。
基线
基线是对业务指标的预测值。
基线生成算法:
最近一个月的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相关的信息。
版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: