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 监控服务端的部署。如果遇到问题,可根据日志和端口连通性逐步排查。

相关推荐
Mysticbinary5 天前
消息验证码(MAC)的介绍
mac·hmac·认证加密
程序员老周6667 天前
mac下载homebrew 安装和使用git
git·mac·homebrew·ssh密匙·windows转mac·mac配brew环境变量
wsdhla8 天前
如何在Windows上实现MacOS中的open命令
mac·cmd·open
布尼卡15 天前
mac brew 无法找到php7.2 如何安装php7.2
php·mac
Andy32218 天前
030 期 3个神器让你的Mac更聪明!
ios·github·mac
HiF19 天前
新的生产力工具——MacBook Pro
mac
Nu1119 天前
解决 mbp14/16 的 miniled 屏幕刺眼发黄问题
操作系统·mac
1101020 天前
AppKit(一):NSAppliaction类
mac
差不多程序员20 天前
工作纪实_63-Mac电脑使用brew安装软件
kafka·mac·brew
Piper蛋窝21 天前
如何在 Mac M1 Pro 上 debug Linux Kernel | 基于 Ubuntu 24 工具链和 QEMU
linux·mac