mac部署CAT监控服务

在 Mac 上部署美团点评开源的 CAT 监控服务端,可以按照以下步骤操作:


1. 环境准备

1.1 安装依赖

确保已安装以下工具:

通过 Homebrew 安装:

bash 复制代码
# 安装 Homebrew(若未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 安装依赖
brew install openjdk@11 mysql maven tomcat@9
1.2 配置环境变量

~/.zshrc~/.bash_profile 中添加:

bash 复制代码
# Java
export JAVA_HOME=/usr/local/opt/openjdk@11
export PATH=$JAVA_HOME/bin:$PATH

# Maven
export MAVEN_HOME=/usr/local/Cellar/maven/3.8.6
export PATH=$MAVEN_HOME/bin:$PATH

# Tomcat
export CATALINA_HOME=/usr/local/opt/tomcat@9/libexec
export PATH=$CATALINA_HOME/bin:$PATH

生效配置:

bash 复制代码
source ~/.zshrc

2. 初始化 MySQL 数据库

2.1 启动 MySQL
bash 复制代码
brew services start mysql
2.2 创建 CAT 数据库

登录 MySQL:

bash 复制代码
mysql -u root -p

执行以下 SQL:

sql 复制代码
-- 创建数据库
CREATE DATABASE `cat` DEFAULT CHARACTER SET utf8mb4;

-- 创建用户并授权
CREATE USER 'cat'@'localhost' IDENTIFIED BY 'cat_password';
GRANT ALL PRIVILEGES ON `cat`.* TO 'cat'@'localhost';
FLUSH PRIVILEGES;
2.3 导入 CAT 初始表结构

下载 CAT 源码并导入 SQL:

bash 复制代码
git clone https://github.com/dianping/cat.git
cd cat/script
mysql -u cat -p cat < CatApplication.sql
mysql -u cat -p cat < CatDailyReport.sql

输入密码 cat_password(与 SQL 中配置一致)。


3. 编译 CAT 服务端

3.1 下载源码
bash 复制代码
git clone https://github.com/dianping/cat.git
cd cat
3.2 修改数据库配置

在Linux系统安装时,CAT应用要求对/data/appdatas/cat和/data/applogs/cat路径有读写权限。

CAT服务端应用会对这两个目录进行读写操作,因此需要首先创建这两个目录。并且应确保启动CAT应用的用户对这两个目录有读写权限。

服务端部署/data/appdatas/cat/client.xml和 server.xml配置无用(限3.0+war包),可以去掉

部署。

需要在data目录下创建文件夹:

shell 复制代码
# 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

xml 复制代码
<?xml version="1.0" encoding="utf-8"?>
<data-sources>
    <data-source id="cat">
        <properties>
            <driver>com.mysql.jdbc.Driver</driver>
            <url>jdbc:mysql://127.0.0.1:3306/cat</url>
            <user>cat</user>
            <password>cat_password</password>
            <connectionProperties>useUnicode=true&amp;characterEncoding=UTF-8&amp;autoReconnect=true</connectionProperties>
        </properties>
    </data-source>
</data-sources>
3.3 编译打包
bash 复制代码
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
bash 复制代码
cp cat-home/target/cat-home.war $CATALINA_HOME/webapps/
4.2 启动 Tomcat
bash 复制代码
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,调整服务端参数:

xml 复制代码
<config local-mode="true">
    <server id="default">
        <property name="local-mode" value="true"/>
        <property name="http-port" value="8080"/>
        <property name="tcp-port" value="2280"/>
    </server>
</config>

6. 验证部署

6.1 检查 CAT 控制台

登录后查看以下报表是否正常:

  • Transaction:事务统计
  • Event:自定义事件
  • Heartbeat:心跳检测
6.2 客户端测试

在 Spring Boot 应用的 cat-client.xml 中配置:

xml 复制代码
<servers>
    <server ip="localhost" port="2280" http-port="8080"/>
</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 是否启动:

    bash 复制代码
    ps aux | grep tomcat
  • 查看 Tomcat 日志:

    bash 复制代码
    tail -f $CATALINA_HOME/logs/catalina.out
2. 客户端数据未上报
  • 验证端口连通性:

    bash 复制代码
    telnet localhost 2280
  • 检查 cat-client.xml 中的服务端 IP 和端口。

3. 数据库连接失败
  • 检查 MySQL 用户权限:

    sql 复制代码
    SHOW GRANTS FOR 'cat'@'localhost';
  • 确认 SQL 脚本已完整导入。


优化建议

  1. 数据清理策略

    修改 cat-home/src/main/resources/datasources.xml,配置自动清理历史数据:

    xml 复制代码
    <property name="hdfs-clean-period">86400</property> <!-- 清理周期(秒) -->
  2. 集群部署

    若需高可用,可部署多个 CAT 服务端节点,并配置负载均衡。


通过以上步骤,即可在 Mac 上完成 CAT 监控服务端的部署。如果遇到问题,可根据日志和端口连通性逐步排查。

相关推荐
棒棒AIT2 天前
mac 苹果电脑 Intel 芯片(Mac X86) 安卓虚拟机 Android模拟器 的救命稻草(下载安装指南)
android·游戏·macos·安卓·mac
Felven2 天前
飞腾D3000麒麟信安系统下配置intel I210 MAC
mac·d3000·intel网卡·i210
街霸星星9 天前
让 Homebrew 成为你的 Mac (或 Linux) 软件包管理利器
mac·intellij idea
June`10 天前
计算机网络基础:从协议到通信全解析(大致框架)
网络·网络协议·tcp/ip·mac
Damon小智15 天前
玩转ClaudeCode:ClaudeCode安装教程(Windows+Linux+MacOS)
windows·ai·mac·wsl·claude code·vibe code
该用户已不存在19 天前
关于我把Mac Mini托管到机房,后续来了,还有更多玩法
服务器·前端·mac
政安晨19 天前
政安晨【开源人工智能硬件】【ESP乐鑫篇】 —— 在macOS上部署工具开发环境(小资的非开发者用苹果系统也可以玩乐鑫)
esp32·mac·开源硬件·环境部署·乐鑫·开源人工智能硬件·工具链搭建
tonngw20 天前
【Mac 从 0 到 1 保姆级配置教程 19】- 英语学习篇-我的英语工作流分享(AI 辅助学习)
macos·mac·英语学习·沉浸式翻译·欧路词典·沙拉查词·终生学习
fengyun289123 天前
Omi录屏专家 Screen Recorder by Omi 屏幕录制Mac
macos·mac·录屏·屏幕录制
二夕聊数据23 天前
AI 时代如何打造一个更顺手的 Terminal?
mac·iterm