CAT告警分为以下五类:
- Exception: 异常告警,cat大盘有飘红/飘黄,不关注可到cat中忽略指定异常
- Heartbeat: 心跳告警,gc频繁,线程block等
- Transaction: Transacation告警,自定义告警
- Event: Event告警,自定义告警
- BaselineAlert: 基线告警,URL,SQL等性能波动较大
CAT对正常的执行也会监控
CAT中的线程详情是CAT自己收集的
之前团队统一要求在JVM启动参数加dump配置下载路径是因为当系统出现OOM的时候会自动dump,与CAT无关,dump是准的,CAT是周期性收集的,不一定准
dump文件记录了线程详情,OOM等
流水线的移交脚本把apm-agent包解压到了项目某个目录下,服务启动时会把cat-agent启动
CAT的实现原理就是基于java-agent
CAT监控的原理是在客户端启动JVM时加上参数-javaagent:jar包名。这个包是自己通过Java开发的,它在字节码层面实现在方法前后添加一些处理,并通过CAT-CLIENT的心跳机制将收集到的信息上传。