美文网首页
APM监控之CAT集成

APM监控之CAT集成

作者: 程序阿呆 | 来源:发表于2019-01-03 09:53 被阅读0次

    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,本次下载选用红色框标记的部分

    图片.png

    2. 代码导入idea

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


    图片.png

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

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


      图片.png

    4. 源代码编译

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

    图片.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并测试

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


    图片.png

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

    • 集成POM文件
      在pom.xml中引入CAT 客户端包
      <dependency> <groupId>com.dianping.cat</groupId> <artifactId>cat-client</artifactId> <version>2.0.0</version> </dependency>
      若maven编译不通过,找不到该包,则需要手动安装到本地,手动安装步骤为
      1.去idea 图片目录找到cat-client-2.0.0.jar ,并复制到本地目录
      图片.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 目录配置文件,目录结构及配置如下:


      图片.png
    • 编写客户端埋点代码,注释写的比较详细,代码结构如下:


      图片.png
    • 启动客户端服务,并调用埋点所在Controller接口

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


      图片.png

    相关文章

      网友评论

          本文标题:APM监控之CAT集成

          本文链接:https://www.haomeiwen.com/subject/kwnxrqtx.html