1.美团Cat官方介绍
CAT 是基于 Java 开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务。
CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。
CAT 很大的优势是它是一个实时系统,CAT 大部分系统是分钟级统计,但是从数据生成到服务端处理结束是秒级别,秒级定义是48分钟40秒,基本上看到48分钟38秒数据,整体报表的统计粒度是分钟级;第二个优势,监控数据是全量统计,客户端预计算;链路数据是采样计算。
1.1.cat作用
- 减少故障发现时间
- 降低故障定位成本
- 辅助应用程序优化
1.2.优势
-
实时处理:信息的价值会随时间锐减,尤其是事故处理过程中
-
全量数据:全量采集指标数据,便于深度分析故障案例
-
高可用:故障的还原与问题定位,需要高可用监控来支撑
-
故障容忍:故障不影响业务正常运转、对业务透明
-
高吞吐:海量监控数据的收集,需要高吞吐能力做保证
-
可扩展:支持分布式、跨 IDC 部署,横向扩展的监控系统
2.环境及安装包准备 github.com/dianping/ca… 官方源代码下载 Ubuntu20.4 + MySQL:8.0 + Tomcat9.0 + Maven3.6.1+JDK1.8
3.搭建步骤 3.1.克隆cat源代码
(1)克隆源代码
git clone https://github.com/dianping/cat.git
3.2.修改pom.xml文件的MySQL驱动
第一处修改:cat-consumer pom.xml mysql-connector-java 修改为<version>8.0.28</version>
第二处修改:cat-home pom.xml mysql-connector-java 修改为<version>8.0.28</version>
第三处修改:cat pom.xml mysql-connector-java 修改为<version>8.0.28</version>
3.3.编译打包
mvn clean install -DskipTe
最终在xxx\cat\cat-home\target目录下生成cat-home.war文件
3.6.创建cat需要的目录及文件
(1)创建数据目录
mkdir -p /data/appdatas/cat
(2)创建日志目录
mkdir -p /data/applogs/cat
(3) 创建datasources.xml
<?xml version="1.0" encoding="utf-8"?>
<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>
#由于我们的数据库是8.0,所以这里需要将驱动改成com.mysql.cj.jdbc.Driver
<driver>com.mysql.cj.jdbc.Driver</driver>
<url><![CDATA[jdbc:mysql://数据库IP:3306/cat]]></url>
<user>连接数据库用户名</user>
<password>连接数据库密码</password>
<connectionProperties><![CDATA[useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&socketTimeout=120000]]></connectionProp
erties>
</properties>
</data-source>
</data-sources>
(4) 创建server.xml
注意:服务端端口号即tomcat中server.xml 中的的端口号,见下:
<Connector port="8087" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxParameterCount="1000"
/>
<?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/" local-report-storage-time="7" local-logivew-storage-time="7">
<hdfs id="logview" max-size="128M" server-uri="hdfs://服务端内网IP/user/cat" base-dir="logview"/>
<hdfs id="dump" max-size="128M" server-uri="hdfs://服务端内网IP/user/cat" base-dir="dump"/>
<hdfs id="remote" max-size="128M" server-uri="hdfs://服务端内网IP/user/cat" base-dir="remote"/>
</storage>
<console default-domain="Cat" show-cat-domain="true">
<remote-servers>服务端内网IP:服务端端口号(8087)</remote-servers>
</console>
</config>
3.5.执行SQL文件
将源代码目录下的SQL执行到数据库中
3.6.安装tomcat
下载地址:https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.82/bin/apache-tomcat-9.0.82.tar.gz
(1)将apache-tomcat-9.0.82.tar.gz上传至服务器要部署的目录下,如/usr/local
(2)解压apache-tomcat-9.0.82.tar.gz文件
(3)删除webapps目录下的文件,将cat-home.war上传至该目录下,并重命名为cat.war
(4)查看tomcat的端口号是否被占用,没有占用则启动tomcat
3.7.访问cat首页