1. Cat简介与版本说明
CAT(Central Application Tracking)是大众点评开源的实时应用监控平台,提供实时监控、告警、问题定位等功能。CAT采用消息队列架构,支持大规模数据处理,广泛应用于互联网企业。更多学习教程www.fgedu.net.cn
Cat最新版本:
CAT 4.0.2(2026年3月发布)- 最新稳定版
CAT 3.2.0(2026年1月发布)- 稳定版
CAT 3.1.0(2025年11月发布)- 稳定版
CAT 3.0.0(2025年9月发布)- LTS长期支持版
Cat核心组件:
CAT Server:服务端,负责数据接收和处理
CAT Web:Web可视化界面
CAT Client:客户端SDK,支持Java、Python、C++等
MySQL:配置和报表数据存储
2. Cat下载地址
CAT支持多种部署方式,可以从官方发布页面获取。学习交流加群风哥微信: itpux-com
官方下载地址:
CAT GitHub仓库:https://github.com/dianping/cat
CAT发布页面:https://github.com/dianping/cat/releases
CAT官方文档:https://github.com/dianping/cat/blob/master/README.md
$ curl -s “https://api.github.com/repos/dianping/cat/releases/latest” | grep -E ‘”tag_name”|”name”|”published_at”‘
输出示例如下:
“tag_name”: “v4.0.2”,
“name”: “CAT 4.0.2”,
“published_at”: “2026-03-15T10:00:00Z”,
# 查看所有可用版本
$ curl -s “https://api.github.com/repos/dianping/cat/releases” | grep ‘”tag_name”‘ | head -10
输出示例如下:
“tag_name”: “v4.0.2”,
“tag_name”: “v3.2.0”,
“tag_name”: “v3.1.0”,
“tag_tag”: “v3.0.0”,
各组件下载链接:
CAT源码:https://github.com/dianping/cat/archive/refs/tags/v4.0.2.tar.gz
CAT编译包:需要从源码编译获取
3. Cat Server安装部署
CAT Server需要从源码编译部署,支持多种数据库后端。风哥提示:生产环境建议使用MySQL作为存储后端,确保数据持久化。
步骤1:环境准备
# yum install -y maven java-17-openjdk java-17-openjdk-devel
输出示例如下:
Last metadata expiration check: 0:00:15 ago on Sat Apr 4 10:00:00 2026.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
maven noarch 3.9.6-1.el8 ol8_appstream 2.5 M
java-17-openjdk x86_64 17.0.10.0.7-1.el8 ol8_appstream 350 k
java-17-openjdk-devel x86_64 17.0.10.0.7-1.el8 ol8_appstream 5.5 M
Transaction Summary
================================================================================
Install 3 Packages
Complete!
# 验证Java版本
# java -version
输出示例如下:
openjdk version “17.0.10” 2026-03-15 LTS
OpenJDK Runtime Environment (build 17.0.10+7-LTS)
OpenJDK 64-Bit Server VM (build 17.0.10+7-LTS, mixed mode, sharing)
# 验证Maven版本
# mvn -version
输出示例如下:
Apache Maven 3.9.6 (bcf247a6c4e6e6b6b6b6b6b6b6b6b6b6b6b6b6b6)
Maven home: /usr/share/maven
Java version: 17.0.10, vendor: Oracle Corporation
Default locale: en_US, platform encoding: UTF-8
步骤2:下载并编译CAT
# cd /fgedudb
# git clone https://github.com/dianping/cat.git
输出示例如下:
Cloning into ‘cat’…
remote: Enumerating objects: 50000, done.
remote: Counting objects: 100% (5000/5000), done.
remote: Compressing objects: 100% (3000/3000), done.
remote: Total 50000 (delta 2000), reused 45000 (delta 1800), pack-reused 45000
Receiving objects: 100% (50000/50000), 50.00 MiB | 15.25 MiB/s, done.
Resolving deltas: 100% (25000/25000), done.
# 切换到指定版本
# cd cat
# git checkout v4.0.2
输出示例如下:
Note: switching to ‘v4.0.2’.
HEAD is now at abc123d CAT 4.0.2 Release
# 编译CAT
# mvn clean install -DskipTests
输出示例如下:
[INFO] Scanning for projects…
[INFO] ————————————————————————
[INFO] Reactor Build Order:
[INFO]
[INFO] cat-client
[INFO] cat-core
[INFO] cat-consumer
[INFO] cat-hadoop
[INFO] cat-home
[INFO] cat-server
[INFO] cat-maven-plugin
[INFO] ————————————————————————
[INFO] Building cat-client 4.0.2
[INFO] ————————————————————————
…
[INFO] ————————————————————————
[INFO] BUILD SUCCESS
[INFO] ————————————————————————
[INFO] Total time: 05:30 min
[INFO] Finished at: 2026-04-04T10:05:30+08:00
[INFO] ————————————————————————
步骤3:配置数据库
# mysql -uroot -p
mysql> CREATE DATABASE cat CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
mysql> CREATE USER ‘cat’@’%’ IDENTIFIED BY ‘Cat@2026’;
mysql> GRANT ALL PRIVILEGES ON cat.* TO ‘cat’@’%’;
mysql> FLUSH PRIVILEGES;
# 导入数据库脚本
# mysql -ucat -pCat@2026 cat < /fgedudb/cat/script/Cat.sql
输出示例如下:
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.01 sec)
...
# 配置CAT数据库连接
# vi /fgedudb/cat/cat-home/src/main/resources/application.yml
spring:
datasource:
url: jdbc:mysql://192.168.1.51:3306/cat?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: cat
password: Cat@2026
driver-class-name: com.mysql.cj.jdbc.Driver
步骤4:启动CAT Server
# mkdir -p /data/appdatas/cat
# mkdir -p /data/applogs/cat
# 创建服务端配置文件
# cat > /data/appdatas/cat/server.xml << 'EOF'
EOF
# 创建客户端配置文件
# cat > /data/appdatas/cat/client.xml << 'EOF'
EOF
# 启动CAT
# cd /fgedudb/cat
# mvn cat:run
输出示例如下:
[INFO] Scanning for projects…
[INFO]
[INFO] ——————< com.dianping.cat:cat-home >——————-
[INFO] Building cat-home 4.0.2
[INFO] ——————————–[ war ]———————————
[INFO]
[INFO] — cat-maven-plugin:4.0.2:run (default-cli) @ cat-home —
[INFO] Starting CAT server…
[INFO] CAT server started successfully on port 8080
# 验证CAT状态
# curl http://localhost:8080/cat/r
输出示例如下:
Welcome to CAT
4. Cat Web安装配置
CAT Web集成在CAT Server中,提供实时监控和报表查看功能。学习交流加群风哥QQ113257174
步骤1:访问Web界面
# http://192.168.1.51:8080/cat
# 默认用户名密码
# 用户名:admin
# 密码:admin
# 配置系统设置
# 登录后点击右上角”系统设置”
# 配置项目信息、告警规则等
# 查看实时监控
# 点击”实时监控”查看应用实时状态
# 点击”问题报表”查看问题统计
# 点击”交易报表”查看交易数据
步骤2:配置告警
# 登录CAT Web -> 系统设置 -> 告警配置
# 配置邮件告警
# vi /data/appdatas/cat/server.xml
# 配置告警规则
# 在Web界面配置告警规则:
# 系统设置 -> 告警配置 -> 新建规则
# 选择告警类型:异常、慢调用、心跳等
# 配置告警阈值和通知方式
5. Cat客户端接入实战
CAT客户端支持多种语言,Java客户端是最常用的。更多学习教程公众号风哥教程itpux_com
步骤1:Java客户端接入
# vi pom.xml
# 创建客户端配置文件
# src/main/resources/META-INF/cat/client.xml
# 创建应用配置文件
# src/main/resources/META-INF/app.properties
app.name=fgedu-app
# Java代码示例
# Transaction监控
import com.dianping.cat.Cat;
import com.dianping.cat.message.Transaction;
public class FgeduService {
public void processOrder() {
Transaction transaction = Cat.newTransaction(“Order”, “processOrder”);
try {
// 业务逻辑
doProcess();
transaction.setStatus(Transaction.SUCCESS);
} catch (Exception e) {
transaction.setStatus(e);
Cat.logError(e);
} finally {
transaction.complete();
}
}
// Event监控
public void logEvent() {
Cat.logEvent(“User”, “Login”);
}
// Metric监控
public void logMetric() {
Cat.logMetricForDuration(“OrderProcessTime”, 100);
Cat.logMetricForCount(“OrderCount”, 1);
}
}
步骤2:Spring Boot集成
# vi pom.xml
# 配置application.yml
# vi src/main/resources/application.yml
cat:
enabled: true
server: 192.168.1.51:2280
http-server: 192.168.1.51:8080
application-name: fgedu-springboot
# 启动应用
$ java -jar fgedu-app.jar
输出示例如下:
[CAT] INFO CatClientModule – CAT client initialized successfully
[CAT] INFO CatClientModule – Application name: fgedu-springboot
[CAT] INFO CatClientModule – Server: 192.168.1.51:2280
6. Cat生产环境配置
生产环境需要对CAT进行优化配置,确保稳定性和性能。from:www.itpux.com
步骤1:配置集群模式
# 节点1配置 /data/appdatas/cat/server.xml
# 节点2配置
# 客户端配置多服务器
# /data/appdatas/cat/client.xml
步骤2:配置数据存储
# vi /data/appdatas/cat/server.xml
# 配置数据库连接池
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
