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

相关推荐
电手1 天前
Win10停更,Win11不好用?现在Mac电脑比Win11电脑更便宜
windows·macos·电脑·mac
前端店小二2 天前
前端Mac从零到一搭建开发环境
前端·mac
用户098880217932 天前
Topaz Photo AI人工智能图像降噪 安装教程(Mac)
macos·mac·图像识别
Wario3 天前
我在 Mac 上装了 Aerospace,效率翻倍不是说说而已
macos·mac
奕天者11 天前
计算机网络学习(八)——MAC
学习·计算机网络·mac
猫头虎13 天前
MacBookPro上macOS安装第三方应用报错解决方案:遇到:“无法打开“XXX”,因为无法确定(验证)开发者身份?怎么解决
macos·mac·策略模式·安全架构·mac安装软件·mac book·mac卸载软件
猫头虎15 天前
MacBookPro上macOS安装第三方应用报错解决方案:遇到:“无法打开“XXX”,因为Apple无法检查其是否包含恶意软件 问题如何解决
macos·开源软件·mac·策略模式·远程工作·软件需求·安全架构
一如既往yes15 天前
Mac如何允许安装任何来源软件?
mac
拿回忆下酒17 天前
Electron+vite+vue3 从0到1搭建项目,开发Win、Mac客户端
windows·electron·mac·客户端·桌面客户端
羑悻的小杀马特18 天前
iOS:重新定义移动交互,引领智能生活新潮流
macos·ios·objective-c·cocoa·mac