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 -st.skip
本⼈在构建过程中遇到了插件的问题,摸索半天也没有成功解决,所以就使⽤了官⽹的war包进⾏直接部署。
可以选择适合⾃⼰的包⽂件进⾏下载。
4、准备cat部署环境
①创建配置⽂件⽬录
由于cat环境的默认地址在/data下,所以需要先创建⽬录。
mkdir /data/appdatas/cat/ -P #创建数据⽬录
mkdir /data/applogs/ -P #创建⽇志⽬录
chmod 777 /data/* #赋予权限
②创建配置⽂件
在/data/appdatas/cat/⽬录下创建配置⽂件,l,l,l这三个
vim /data/appdatas/l
<?xml version="1.0" encoding="utf-8"?>
<config mode="client">
<servers>
<server ip="192.168.1.111" port="2280" http-port="8080"/> #ip为客户端实体ip,prot端⼝是cat传输数据的默认端⼝,http-port端⼝是Java服务部署的端⼝
</servers>
</config>
vim /data/appdatas/l
<data-sources>
<data-source id="cat">
<maximum-pool-size>3</maximum-pool-size>
<connection-timeout>1s</connection-timeout>
<idle-timeout>10m</idle-timeout>
<statement-cache-size>1000</statement-cache-size>
<properties>
<driver&sql.jdbc.Driver</driver>
<url><![CDATA[jdbc:mysql://127.0.0.1:3306/cat]]></url> <!-- 请替换为真实数据库URL及Port --> <user>root</user> <!-- 请替换为真实数据库⽤户 -->
<password>root</password> <!-- 请替换为真实数据库密码 -->
thread技术<connectionProperties><![CDATA[useUnicode=true&characterEncoding=UTF-
8&autoReconnect=true&socketTimeout=120000]]></connectionProperties>
</properties>
</data-source>
</data-sources>
vim /data/appdatas/l
<?xml version="1.0" encoding="utf-8"?>
<config local-mode="false" hdfs-machine="false" job-machine="true" alert-machine="false">
<storage local-base-dir="/data/appdatas/cat/bucket/" max-hdfs-storage-time="15" local-report-storage-time="7"
local-logivew-storage-time="7">
<hdfs id="logview" max-size="128M" server-uri="hdfs://127.0.0.1/user/cat" base-dir="logview"/>
<hdfs id="dump" max-size="128M" server-uri="hdfs://127.0.0.1/user/cat" base-dir="dump"/>
<hdfs id="remote" max-size="128M" server-uri="hdfs://127.0.0.1/user/cat" base-dir="remote"/>
</storage>
<console default-domain="Cat" show-cat-domain="true">
<remote-servers>127.0.0.1:8080</remote-servers>
</console>
</config>
③创建cat库
cat的数据库结构在git中有涉及,可以根据提供的sql⽂件,创建表结构
git地址:
mysql -uroot -p #进⼊数据库中
create database cat; #创建cat库
use cat; #进⼊到cat库中
source /opt/CatApplication.sql #导⼊表⽂件
5、部署cat包⽂件
将之前下载的cat-home-3.0.0.war重命名为cat.war,并移动到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信息,这些信息仅⽤于查看⼀些相关信息
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论