`

CAT监控平台之安装篇

 
阅读更多

    

    一、CAT (Central Application Tracking) 简介

   

   CAT 是大众点评开源的一套基于java的实时应用监控平台,主要应用于服务中间件框架(MVC 框架、RPC 框架、持久层框架、分布式缓存框架)的监控,为开发和运维提供各项性能指标、健康检查、自动报警等可视化服务

  


 
 

      二、CAT 安装部署:

      

      下文将一步步介绍如何安装服务端、如何接入客户端、如何查看一些监控指标

     

      首先,准备安装环境

       

       1.确保待安装环境已经安装了jdk(1.6以上版本)、git、maven(maven 版本需要在 3.2.3以上)mysql、web容器 tomcat,这里不再赘述

       2.下载cat源码:https://github.com/dianping/cat.git,并导入到eclipse(导入过程中可能会遇到一些问题,可以不必在此纠结,继续下一步

       3.下载master打包后的包,https://github.com/dianping/cat/archive/master.zip,并解压到本地

       

       其次,安装服务端

       

        1.打war包:进入到解压后的 源码文件夹,运行maven打包命令: 

 mvn clean install -DskipTests
           PS:打包过程中会在源码所在盘符创建 data/appdatas/cat目录,所以确保当前用户拥有读写权限

 

       2. 部署war包:当运行完打包命令,会在每个子模块中,生成打包后的文件

       

* cat-home.war : 服务端组件,负责收集监控信息,分析处理生成报告、作出警告(需要的服务端war包)
* cat-agent.war : 监控端组件,负责收集被监控端信息,并上传监控信息到服务端
* cat-client.jar : 客户端组件,负责与服务端进行连接通信,
* cat-core.jar : 核心处理组件,负责具体的与客户端通信服务,解析数据、输出报告
* cat-consumer.jar : 消费处理组件,负责实际的监控数据分析,处理工作
* cat-hadoop.jar : HDFS存储组件
* broker-service.war : 监控服务代理组件
        将cat-home.war重命名为cat.war后复制到tomcat 容器webapps目录下,然后启动容器,至此服务端已安装完毕,在浏览器中输入 http://127.0.0.1:8341/cat/r/ 看到下图,表示安装成功

 



 

         

       接着,客户端接入

     

       1.待监控项目pom文件加入依赖

        

        <dependency>
            <groupId>com.dianping.cat</groupId>
            <artifactId>cat-core</artifactId>   
            <version>1.3.6</version>
       </dependency>
       2.待监控项目web.xml 中引入cat 过滤器

 

    

  <filter>
        <filter-name>cat-filter</filter-name>
        <filter-class>com.dianping.cat.servlet.CatFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>cat-filter</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>
     3.引入配置文件:在src/main/resources/META-INF下创建app.properties或cat/client.xml

 

 

  

       app.properties 加入一行app.name=项目名(即domain)

 

     3.加入监控逻辑

 

    @RequestMapping("index")
    public ModelAndView index(HttpServletRequest request, HttpServletResponse response){
   Transaction t = Cat.getProducer().newTransaction("your transaction type", "your transaction name");
    	try {
    	                System.out.println("debug...");
    	                Cat.getProducer().logEvent("your event type", "your event name", Event.SUCCESS, "keyValuePairs");
    	                t.setStatus(Transaction.SUCCESS);
    	     } catch (Exception e) {
    	            Cat.getProducer().logError(e);//用log4j记录系统异常,以便在Logview中看到此信息
    	            t.setStatus(e);
    	           // throw e; 
    	            	/*  (CAT所有的API都可以单独使用,也可以组合使用,比如Transaction中嵌套Event或者Metric。)
    	                  (注意如果这里希望异常继续向上抛,需要继续向上抛出,往往需要抛出异常,让上层应用知道。)
    	                  (如果认为这个异常在这边可以被吃掉,则不需要在抛出异常。)*/
    	     } finally {
    	           t.complete();
    	     }
    	
        return new ModelAndView("main");
    }
 

 

     4.重启待监控项目,并访问一个项目的页面,同时进入监控平台(默认用户catadmin/catadmin)http://127.0.0.1:8341/cat/r/这时我们会发现,下图中有了数据(profit为项目名)




 
 

       5.监控埋点

      

        Transaction用来记录一段程序响应时间

        Event用来记录一行code的执行次数

        Metric用来记录一个业务指标

        这些指标都是独立的,可以单独使用,主要看业务场景。

     

      最后,安装总结

     

       本文提到的CAT安装是简化版,没有用到ldap验证,没有用到hadoop,比较基础。其他详细的安装细节请参考源码和CAT监控系统首页【文档】选项。

    

 

  • 大小: 117.7 KB
  • 大小: 10 KB
  • 大小: 52.4 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics