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和maven环境链接

        git下载cat的最新源码

git clone https://github.com/dianping/cat.git

进入到cat文件中进行构建

mvn install -Dmaven.test.skip

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

②直接下载官网war 包

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

http://unidal.org/nexus/service/local/repositories/releases/content/com/dianping/cat/cat-home/3.0.0/

 

 4、准备cat部署环境

        ①创建配置文件目录

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

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

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

chmod 777 /data/*                                #赋予权限

        ②创建配置文件

在/data/appdatas/cat/目录下创建配置文件,client.xml,datasources.xml,server.xml这三个

vim /data/appdatas/cat/client.xml

<?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/cat/datasources.xml

 <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>com.mysql.jdbc.Driver</driver>
            <url><![CDATA[jdbc:mysql://127.0.0.1:3306/cat]]></url>                          <!-- 请替换为真实数据库URL及Port  -->
            <user>root</user>                                                                                     <!-- 请替换为真实数据库用户 -->
            <password>root</password>                                                                     <!-- 请替换为真实数据库密码 -->
            <connectionProperties><![CDATA[useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&socketTimeout=120000]]></connectionProperties>
        </properties>
    </data-source>
</data-sources>

 vim /data/appdatas/cat/server.xml

 <?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地址:https://github.com/dianping/cat

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信息,类似于log4j的info信息,这些信息仅用于查看一些相关信息

 

 

注: 

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

猜你喜欢

转载自blog.csdn.net/tiny_du/article/details/119148287
cat