https://github.com/dianping/cat
CAT
CAT基于Java开发的实时应用监控平台,包括实时应用监控,业务监控。[2013-01-06]
CAT支持的监控消息类型包括:
- Transaction 适合记录跨越系统边界的程序访问行为,比如远程调用,数据库调用,也适合执行时间较长的业务逻辑监控,Transaction用来记录一段代码的执行时间和次数。
- Event 用来记录一件事发生的次数,比如记录系统异常,它和transaction相比缺少了时间的统计,开销比transaction要小。
- Heartbeat 表示程序内定期产生的统计信息, 如CPU%, MEM%, 连接池状态, 系统负载等。
- Metric 用于记录业务指标、指标可能包含对一个指标记录次数、记录平均值、记录总和,业务指标最低统计粒度为1分钟。
- Trace 用于记录基本的trace信息,类似于log4j的info信息,这些信息仅用于查看一些相关信息
消息树
CAT监控系统将每次URL、Service的请求内部执行情况都封装为一个完整的消息树、消息树可能包括Transaction、Event、Heartbeat、Metric和Trace信息。
完整的消息树
可视化消息树
分布式消息树【一台机器调用另外一台机器】
Requirements
- Java 6
- Maven 3
- MySQL
Quick Started
1、在CAT目录下,用maven构建项目
mvn clean install -DskipTests
2、配置CAT的环境
mvn cat:install
Note:
- Linux\Mac 需要对/data/appdatas/cat和/data/applogs/cat有读写权限
- Windows 则是对系统运行盘下的/data/appdatas/cat和/data/applogs/cat有读写权限
3、(Optional)如果安装了hadoop集群,需到/data/appdatas/cat/server.xml中配置对应hadoop信息。将localmode设置为false,默认情况下,CAT在开发模式(localmode=true)下工作。
4、运行CAT
cd cat-home;mvn jetty:run
然后打开浏览器,输入http://localhost:2281/cat/。
或者在cat目录下输入 mvn eclipse:clean eclipse:eclipse 然后将项目导入到eclipse中,运行cat-home项目里得‘com.dianping.cat.TestServer’来启动CAT。