APM监控之CAT集成

CAT是 点评开源的综合性的监控平台,要包括移动端监控,应用侧监控,核心网络层监控,系统层监控等。并能提供实时监控报警,应用性能分析诊断的工具。

目前最新版本是18年10月刚升级的2.0版本,从网上搜罗的资料文档都比较模糊,包括官方文档也没有实时更新,给搭建平台造成了不必要的麻烦。因此根据自己的摸索实践,将平台搭建的每一步都截图细化下来,保证搭建顺利。
本次搭建在windows环境下,具体环境如下:
java version "1.8.0_31"
Apache Maven 3.5.4
apache-tomcat-8.0.9
Mysql 5.7+
IDEA 2018

操作步骤如下:

1. 源代码下载

登陆码云或者github把CAT代码down到本地,码云下载地址:https://gitee.com/mirrors/CAT/tags,本次下载选用红色框标记的部分

APM监控之CAT集成_第1张图片
图片.png

2. 代码导入idea

导入后maven会自动下载相关依赖,导入后效果如下:


APM监控之CAT集成_第2张图片
图片.png

3. 初始化数据库并修改配置文件

  • CAT数据存储于MySQL数据库script文件夹下面的Cat.sql 导入Mysql 数据库,版本要求5.7+
  • 修改datasources.xml配置文件,将数据库链接替换成自己的数据库配置


    APM监控之CAT集成_第3张图片
    图片.png

4. 源代码编译

点击如下图所示按钮,并输入命令
clean install -Dmaven.test.skip=true
编译打成war包

APM监控之CAT集成_第4张图片
图片.png

5. war包部署

将编译后的war包部署到tomcat 下,注意:暂不启动

6. 本地配置文件创建

在项目部署所在目录的根目录创建/data/appdatas/cat文件夹,例如我项目部署在C:\tools\apache-tomcat-8.0.9,那么创建好的目录结构就应该是:C:\data\appdatas\cat
并将script文件夹中的3个xml配置文件复制粘贴到刚创建好的目录下

7. 启动tomcat并测试

若显示如下画面,表示服务端配置成功


APM监控之CAT集成_第5张图片
图片.png

下面是CAT 客户端集成步骤:
本次集成工程为spring boot2 工程,集成步骤如下:

  • 集成POM文件
    在pom.xml中引入CAT 客户端包
    com.dianping.cat cat-client 2.0.0
    若maven编译不通过,找不到该包,则需要手动安装到本地,手动安装步骤为
    1.去idea 图片目录找到cat-client-2.0.0.jar ,并复制到本地目录
    APM监控之CAT集成_第6张图片
    图片.png
2.进入到jar包复制目录的文件夹下面,并执行
mvn install:install-file -DgroupId=com.dianping.cat -DartifactId=cat-client -Dversion=2.0.0 -Dpackaging=jar -Dfile=cat-client-2.0.0.jar
  • 官方文档中只体现了集成spring mvc 客户端的方式,现修改为spring boot 2的方式,方式如下:添加过滤器

/**
 * Cat 过滤器初始化
 */
public class CatFilterConfigure{
    @Bean
    public FilterRegistrationBean catFilter() {
        FilterRegistrationBean registration = new FilterRegistrationBean();
        CatFilter filter = new CatFilter();
        registration.setFilter(filter);
        registration.addUrlPatterns("/*");
        registration.setName("cat-filter");
        registration.setDispatcherTypes(DispatcherType.REQUEST,DispatcherType.FORWARD);
        registration.setOrder(1);
        return registration;
    }

}

  • 添加客户端配置类,代码如下:
    /**
 * Cat客户端配置
 */
public class CatClientConfigProvider implements ClientConfigProvider {
    @Override
    public ClientConfig getClientConfig() {

        ClientConfig config = new ClientConfig();
        config.addServer(new Server("127.0.0.1"));
        config.addDomain(new Domain("Tunny"));

        return config;
    }

}

  • 添加resourece 目录配置文件,目录结构及配置如下:


    APM监控之CAT集成_第7张图片
    图片.png
  • 编写客户端埋点代码,注释写的比较详细,代码结构如下:


    APM监控之CAT集成_第8张图片
    图片.png
  • 启动客户端服务,并调用埋点所在Controller接口

  • 埋点效果测试,登陆cat服务端
    效果如下,表示客户端与服务端通信正常


    APM监控之CAT集成_第9张图片
    图片.png

你可能感兴趣的:(APM监控之CAT集成)