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/