实时监控Cat是大众点评研发并使用的,它由吴其敏团队开发,在InfoQ说有一些关于Cat的介绍,但一般是理论的介绍,对如何使用说的不多,DEMO也很少,所以还是需要我们自己去研究一下的。
InfoQ上两个视频
关于Cat
CAT基于Java开发的实时应用监控平台,包括实时应用监控,业务监控。
CAT支持的监控消息类型包括:
Transaction 适合记录跨越系统边界的程序访问行为,比如远程调用,数据库调用,也适合执行时间较长的业务逻辑监控,Transaction用来记录一段代码的执行时间和次数。
Event 用来记录一件事发生的次数,比如记录系统异常,它和transaction相比缺少了时间的统计,开销比transaction要小。
Heartbeat 表示程序内定期产生的统计信息, 如CPU%, MEM%, 连接池状态, 系统负载等。
Metric 用于记录业务指标、指标可能包含对一个指标记录次数、记录平均值、记录总和,业务指标最低统计粒度为1分钟。
Trace 用于记录基本的trace信息,类似于log4j的info信息,这些信息仅用于查看一些相关信息
消息树
CAT监控系统将每次URL、Service的请求内部执行情况都封装为一个完整的消息树、消息树可能包括Transaction、Event、Heartbeat、Metric和Trace信息。
每个消息都有自己的唯一标识,我们称为消息头,消息的内容叫消息体,消息头由版本号,消息ID,所属业务,IP,所在线程和根消息ID组成,根消息可以理解成外层的事务ID。
这是官方给出的完整的消息树,还是比较清晰的
管理页面里查看自定义的类型
当我们在程序里记录事务,事件,日志时,第一次进行管理页面是可能根本看不到,都是和cat本身有关的消息,这让我感到不理,不过最后还是找到了原因,在管理页面里,默认显示的是Cat域的信息,域在配置文件里叫domain,我们可以理想为一个大模块,我们自己可以定义域。
选择自己的域名后,可以看到自定义的内容了
单击LogView,可以看到自己输出的日志
当然,也可以看一下统计的图表,比较清晰,这也是很多公司所需要的功能
感谢您关注Cat,让我们一起来研究Cat吧!
java Server:https://github.com/dianping/cat
.net Client:https://github.com/dianping/cat.net
本文转自博客园张占岭(仓储大叔)的博客,原文链接:实时监控Cat之旅~介绍与自定义类型在哪里,如需转载请自行联系原博主。