MAC部署CAT监控服务
在 Mac 上部署美团点评开源的 CAT 监控服务端,可以按照以下步骤操作。
1. 环境准备
1.1 安装依赖
确保已安装以下工具:
**JDK 8+**(建议 OpenJDK 11)
**MySQL 5.7+**(存储监控数据)(8.0+不支持。。)
如果需要支持8.0,可以使用这个工程
**Maven 3.6+**(构建 CAT 源码)
Tomcat 8/9(部署 CAT Web 控制台)
通过 Homebrew 安装:
1 | # 安装 Homebrew(若未安装) |
1.2 配置环境变量
在 ~/.zshrc 或 ~/.bash_profile 中添加:
1 | # Java |
生效配置:
1 | source ~/.zshrc |
2. 初始化 MySQL 数据库
2.1 启动 MySQL
1 | brew services start mysql |
2.2 创建 CAT 数据库
登录 MySQL:
1 | mysql -u root -p |
执行以下 SQL:
1 | -- 创建数据库 |
2.3 导入 CAT 初始表结构
下载 CAT 源码并导入 SQL:
1 | git clone https://github.com/dianping/cat.git |
输入密码 cat_password(与 SQL 中配置一致)。
3. 编译 CAT 服务端
3.1 下载源码
1 | git clone https://github.com/dianping/cat.git |
3.2 修改数据库配置
在Linux系统安装时,CAT应用要求对/data/appdatas/cat和/data/applogs/cat路径有读写权限。
CAT服务端应用会对这两个目录进行读写操作,因此需要首先创建这两个目录。并且应确保启动CAT应用的用户对这两个目录有读写权限。
服务端部署/data/appdatas/cat/client.xml和 server.xml配置无用(限3.0+war包),可以去掉
部署。
需要在data目录下创建文件夹:
1 | mkdir -p /data/appdatas/cat && mkdir -p /data/applogs/cat |
如果提示mkdir: /data: Read-only file system,表示mac根目录无法创建文件夹,则可以通过软链解决,具体解决方法查看:
https://blog.csdn.net/youwen21/article/details/115000907
编辑文件 cat-home/src/main/resources/datasources.xml:
1 |
|
3.3 编译打包
1 | mvn clean install -DskipTests |
编译成功后,生成以下文件:
cat-home/target/cat-home.war(Web 控制台)cat-client/target/cat-client.jar(客户端依赖)cat-client.jar目前没有maven仓库下载,需要自己上传到自己的私服,或者存放到本地依赖目录。
自己编译的部署有问题,最好还是下载官方提供的war包吧https://github.com/dianping/cat/releases/tag/3.1.0
4. 部署到 Tomcat
4.1 复制 WAR 包到 Tomcat
1 | cp cat-home/target/cat-home.war $CATALINA_HOME/webapps/ |
4.2 启动 Tomcat
1 | catalina start |
访问控制台:
http://localhost:8080/cat
默认账号:admin,密码:admin。
5. 配置 CAT 服务端
5.1 开放端口
确保以下端口可用:
- 8080:Tomcat Web 端口(CAT 控制台)
- 2280:CAT 服务端 TCP 端口(客户端上报数据)
5.2 修改服务端配置(可选)
编辑 cat-home/src/main/resources/server.xml,调整服务端参数:
1 | <config local-mode="true"> |
6. 验证部署
6.1 检查 CAT 控制台
登录后查看以下报表是否正常:
- Transaction:事务统计
- Event:自定义事件
- Heartbeat:心跳检测
6.2 客户端测试
在 Spring Boot 应用的 cat-client.xml 中配置:
1 | <servers> |
重启应用后,观察 CAT 控制台是否有数据上报。
常见问题排查
1. 控制台无法访问
把文件cat.war (如果叫cat-home.war 重命名为cat.war)
常见问题:https://www.cnblogs.com/jingch/p/17141552.html
http://localhost:8080/cat/s/config?op=serverConfigUpdate
检查 Tomcat 是否启动:
1
ps aux | grep tomcat
查看 Tomcat 日志:
1
tail -f $CATALINA_HOME/logs/catalina.out
2. 客户端数据未上报
验证端口连通性:
1
telnet localhost 2280
检查
cat-client.xml中的服务端 IP 和端口。
3. 数据库连接失败
检查 MySQL 用户权限:
1
SHOW GRANTS FOR 'cat'@'localhost';
确认 SQL 脚本已完整导入。
优化建议
数据清理策略
修改cat-home/src/main/resources/datasources.xml,配置自动清理历史数据:1
<property name="hdfs-clean-period">86400</property> <!-- 清理周期(秒) -->
集群部署
若需高可用,可部署多个 CAT 服务端节点,并配置负载均衡。
通过以上步骤,即可在 Mac 上完成 CAT 监控服务端的部署。如果遇到问题,可根据日志和端口连通性逐步排查。



