CAT介绍
CAT是基于Java开发的实时应用监控平台,包括实时应用监控,业务监控。
CAT作为大众点评网基础监控组件,它已经在中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等)中得到广泛应用,为点评各业务线提供系统的性能指标、健康状况、基础告警等。
CAT支持的监控消息类型包括:
- Transaction 适合记录跨越系统边界的程序访问行为,比如远程调用,数据库调用,也适合执行时间较长的业务逻辑监控,Transaction用来记录一段代码的执行时间和次数。
- Event 用来记录一件事发生的次数,比如记录系统异常,它和transaction相比缺少了时间的统计,开销比transaction要小。
- Heartbeat 表示程序内定期产生的统计信息, 如CPU%, MEM%, 连接池状态, 系统负载等。
- Metric 用于记录业务指标、指标可能包含对一个指标记录次数、记录平均值、记录总和,业务指标最低统计粒度为1分钟。
- Trace 用于记录基本的trace信息,类似于log4j的info信息,这些信息仅用于查看一些相关信息。
消息树
CAT监控系统将每次URL、Service的请求内部执行情况都封装为一个完整的消息树、消息树可能包括Transaction、Event、Heartbeat、Metric和Trace信息。
完整的消息树
[图片上传中...(image-610987-1510636989029-3)]
[图片上传中...(image-a60f75-1510636989029-2)]
分布式消息树【一台机器调用另外一台机器】
[图片上传中...(image-aaa242-1510636989029-1)]
CAT现状
CAT采用非常开放的Apache License开源,在国内已经有100多家互联网公司在使用和评估,包括大众点评网、携程网、猎聘网、陆金所、同程旅游等。截至2017年10月,CAT已经获得了3000多个stars。
[图片上传中...(image-643f28-1510636989029-0)]
更多资料请参考:
官网:http://unidal.org/
源码:https://github.com/dianping/cat/