2023年12月7日发(作者:)

cat搭建部署详细步骤(美团开源cat监控)

cat简介:

CAT是基于Java开发的实时分布式应用监控平台,主要体现在监控报表Transaction、event、problem、heartbeat等,cat系统定制的监

控模型以及定制的实时分析报表也是cat系统核心优势。这里强调了CAT相比于其他系统的二开优势。

logview是cat原始的log采集方式,cat的logview使用的技术是threadlocal,将一个thread里面的打点聚合上报,有一点弱化版本的链路

功能,但是cat并不是一个标准的全链路系统,全链路系统参考dapper的论文,业内比较知名的鹰眼,zipkin等,其实经常拿cat和这类系统

进行比较其实是不合适的。cat的logview在异步线程等等一些场景下,其实不合适,cat本身模型并不适合这个。在美团点评内部,有

mtrace专门做全链路分析。

cat环境部署:

1、安装环境:

下面是本人的安装环境,仅供参考:

操作系统:centos7.9

jdk:1.8

tomcat:9.0.50

mariadb:10.4.11

cat:3.0.0

2、部署cat前准备:

需要提前安装好jdk1.8的环境,tomcat环境,已经mysql环境,在此不进行多讲,有问题的伙伴可以百度自行解决。

3、准备cat包文件:

需要准备cat的包文件,有以下两种方式获得:

①git获取cat包文件的源码

该方式比较复杂,需要git下载cat的源码,然后进行maven构建成包文件,然后进行部署,有开发需求的人可以进行此操作。

需要先按照git环境和maven环境。(点击以下链接进行查看)

git下载cat的最新源码

git clone

进入到cat文件中进行构建

mvn install -

本人在构建过程中遇到了插件的问题,摸索半天也没有成功解决,所以就使用了官网的war包进行直接部署。

②直接下载官网war 包

可以选择适合自己的包文件进行下载。

4、准备cat部署环境

①创建配置文件目录

由于cat环境的默认地址在/data下,所以需要先创建目录。

mkdir /data/appdatas/cat/ -P #创建数据目录

mkdir /data/applogs/ -P #创建日志目录

chmod 777 /data/* #赋予权限

②创建配置文件

在/data/appdatas/cat/目录下创建配置文件,,,这三个

vim /data/appdatas/cat/

#ip为客户端实体ip,prot端口是

cat传输数据的默认端口,http-port端口是Java服务部署的端口

vim /data/appdatas/cat/

3

1s

10m

1000

root

root

8&autoReconnect=true&socketTimeout=120000]]>

vim /data/appdatas/cat/

local-logivew-storage-time="7">

127.0.0.1:8080

③创建cat库

cat的数据库结构在git中有涉及,可以根据提供的sql文件,创建表结构

git地址:

mysql -uroot -p #进入数据库中

create database cat; #创建cat库

use cat; #进入到cat库中

source /opt/ #导入表文件

5、部署cat包文件

将之前下载的重命名为,并移动到tomcat的webapps下。

启动tomcat服务,cat服务就已经成功部署。

6、浏览器访问cat

浏览器访问服务,发现已经可以正常访问cat的页面。

7、配置cat

cat的默认账号密码是admin/admin

初次部署后,需要对cat进行相对应的配置,否则打开报表页面,全是500的报错提示,需要配置后才能正常显示。

8、访问cat报表

然后就发现报表可以正常访问了,小伙伴们可以看下cat强大的报表功能。

CAT 支持的监控消息类型包括:

Transaction 适合记录跨越系统边界的程序访问行为,比如远程调用,数据库调用,也适合执行时间较长的业务逻辑监控,Transaction

用来记录一段代码的执行时间和次数。

Event 用来记录一件事发生的次数,比如记录系统异常,它和transaction相比缺少了时间的统计,开销比transaction要小。

Heartbeat 表示程序内定期产生的统计信息, 如CPU%, MEM%, 连接池状态, 系统负载等。

Metric 用于记录业务指标、指标可能包含对一个指标记录次数、记录平均值、记录总和,业务指标最低统计粒度为1分钟。

Trace 用于记录基本的trace信息,类似于的info信息,这些信息仅用于查看一些相关信息

注:

以上为本人实际搭建过程中的经验总结,如果有什么问题,可以在评论区留言,大家一起探讨进步!