一、CAT简介
CAT(Central Application Tracking),是美团点评基于 Java 开发的一套开源的分布式实时监控系统。美团点评基础架构部希望在基础存储、高性能通信、大规模在线访问、服务治理、实时监控、容器化及集群智能调度等领域提供业界领先的、统一的解决方案,CAT 目前在美团点评的产品定位是应用层的统一监控组件,在中间件(RPC、数据库、缓存、MQ 等)框架中得到广泛应用,为各业务线提供系统的性能指标、健康状况、实时告警等服务。
二、部署环境
- Windows 7
- CAT 3.0
- Java 8
- Tomcat 8.5
- Maven 3
- MySQL 5.7
- 内网IP:192.168.1.111
三、开始部署
1.下载CAT源码
git clone https://github.com/dianping/cat.git
2.初始化数据库
在MySQL中创建cat数据库,然后执行script/Cat.sql
中的SQL语句。
3.创建配置文件
在Tomcat所在的盘中创建/data/appdatas/cat
文件夹,然后创建/data/appdatas/cat/client.xml
文件,写入如下内容:
其中,192.168.1.111改为你电脑的内网IP,2280是默认的CAT服务端接受数据的端口,不允许修改,http-port是Tomcat启动的端口,默认是8080,建议使用默认端口。
再创建/data/appdatas/cat/datasources.xml
文件,写入如下内容:
3
1s
10m
1000
com.mysql.jdbc.Driver
root
root
其中,需要替换的有:数据库IP、port、用户名和密码。
4.CAT的war部署
使用Maven构建AT的war:
mvn clean install -DskipTests
构建成功后,将cat-home/target/cat-alpha-3.0.0.war
重命名为cat.war
,复制到Tomcat的webapps下,启动tomcat。
5.修改路由配置
访问http://192.168.1.111:8080/cat/s/config?op=routerConfigUpdate
,默认用户名:admin 默认密码:admin,修改客户端路由配置:
配置说明:
- backup-server属性:设置为当前服务器对外IP地址,端口固定为2280
- default-server属性:定义可跳转的路由地址,可以设置多个。default-server的id属性配置可路由的cat-home服务IP地址,端口固定为2280;若需要禁用路由地址,可把enable设置为false
- network-policy 这边可以配置多个不同网段,表示这个网段使用server-group的cat节点,这里面的作用主要是当多机房部署cat的时候,可以将cat分为多个多个子集群,然后多个子集群处理不同的客户端,避免跨专线访问
- domain id=cat 这部分主要是定制路由,当发现一些项目数据量特别大,或者其他场景,可以将这些domain的监控请求单独隔离处理
6.修改服务端配置
访问http://192.168.1.111:8080/cat/s/config?op=serverConfigUpdate
,修改服务端配置:
配置说明:
server节点:代表一台机器的配置。如果id为default,代表默认配置;如果id为ip,代表该台服务器的配置
- local-mode : 定义服务是否为本地模式(开发模式),在生产环境时,设置为false,启动远程监听模式。默认为 false;
- hdfs-machine : 定义是否启用HDFS存储方式,默认为 false;
- job-machine : 定义当前服务是否为报告工作机(开启生成汇总报告和统计报告的任务,只需要一台服务机开启此功能),默认为 false;
- alarm-machine : 定义当前服务是否为报警机(开启各类报警监听,只需要一台服务机开启此功能),默认为 false;
- send-machine : 定义当前服务告警是否发送(当时为了解决测试环境开启告警线程,但是最后告警不通知,此配置后续会逐步去除,建议alarm-machine开启为true的时候,这个同步为true)
storage节点: 定义数据存储配置信息
- local-report-storage-time : 定义本地报告存放时长,单位为(天)
- local-logivew-storage-time : 定义本地日志存放时长,单位为(天)
- local-base-dir : 定义本地数据存储目录
- hdfs : 定义HDFS配置信息,便于直接登录系统
- server-uri : 定义HDFS服务地址
- console : 定义服务控制台信息
- remote-servers : 定义HTTP服务列表,(远程监听端同步更新服务端信息即取此值)
- ldap : 定义LDAP配置信息(这个可以忽略)
- ldapUrl : 定义LDAP服务地址(这个可以忽略)
重新启动Tomcat。
四、验证
访问http://192.168.1.111:8080/cat/r
,点击“State”,可以看到“CAT服务端正常”和CAT一些基本状态,如下图:
点击“Transaction”,CAT自身的监控信息,如下图: