cat客户端集成

来源:互联网 发布:皮卡丘漫画软件 编辑:程序博客网 时间:2024/04/29 23:07
配置内容: web.xml配置过滤器;struts配置异常控制;添加对cat jar的依赖,添加对app.properties属性配置。添加client.xml
./data/appdatas/cat/目录下,新建一个client.xml文件(线上环境是OP配置) eclipse 根目录下,与服务器端一样配置。



1.Web.xml中新增filter

注:如果项目是对外不提供URL访问,比如GroupService,仅仅提供Pigeon服务,则不需要。

Filter放在url-rewrite-filter 之后的第一个,如果不是会导致URL的个数无限多,比如search/1/2,search/2/3等等,无法监控,后端存储压力也变大。
    <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>
struts会吃掉URL中的ERROR信息,请在配置中加
 <constant name="struts.handle.exception" value="false">   </constant>
解决URL中很多重复的问题,比如restfull的url
    CAT 提供了自定义的URL的name功能,只要在HttpServletRequest的设置一个Attribute,    在业务运行代码中加入如下code可以自定义URL下name,这样可以进行自动聚合。    HttpServletRequest req ;    req.setAttribute(&quot;cat-page-uri&quot;, &quot;myPageName&quot;);    
2.Pom.xml中更新jar包(点评内部公共组件,外部公司可以忽略)
       <dependency>            <groupid>com.dianping.cat</groupid>            <artifactid>cat-core</artifactid>               <version>1.2.7</version>       </dependency>  
3、配置domain (cat-core 1.1.3之后版本,优先读取A配置)

A) 在资源文件中新建app.properties文件

在resources资源文件META-INF下,注意是src/main/resources/META-INF/文件夹, 而不是webapps下的那个META-INF,添加app.properties,加上domain配置,如:app.name=tuangou-web

B) 在资源文件中新建client.xml文件

在resources资源文件META-INF下,新建cat文件夹,注意是src/main/resources/META-INF/cat/client.xml文件, 而不是webapps下的那个META-INF,domain id表示项目名称此处为CMDB申请的名字,比如

     <config mode="client">         <domain id="tuangou-web">     </domain></config>  
4./data/appdatas/cat/目录下,新建一个client.xml文件(线上环境是OP配置)

如果系统是windows环境,则在eclipse运行的盘,比如D盘,新建/data/appdatas/cat/目录,新建client.xml文件

项目文件中srouce中的client.xml,此文件代表了这个项目我是谁,比如项目的名字Cat。

/data/appdatas/cat/client.xml,此文件有OP控制,这里的Domain名字用来做开关,如果一台机器上部署了多个应用,可以指定把一个应用的监控关闭。

      <config mode="client">          <servers>             <server ip="192.168.213.115" port="2280">         </server></servers>      </config>  

alpha、beta这个配置需要自己在此目录添加

预发以及生产环境这个配置需要通知到对应OP团队,让他们统一添加,自己上线时候做下检查即可

a、192.168.213.115:2280端口是指向测试环境的cat地址

b、配置可以加入CAT的开关,用于关闭CAT消息发送,将enabled改为false,如下表示将mobile-api这个项目关闭

  <config mode="client">          <servers>             <server ip="192.168.213.115" port="2280">         </server></servers>         <domain id="mobile-api" enabled="false">      </domain></config>  
5.CAT的Log4j集成 【建议所有Log都打到CAT,这样才能更快发现问题】

业务程序的所有异常都通过记录到CAT中,方便看到业务程序的问题,建议在Root节点中添加次appendar

a)在Log4j的xml中,加入Cat的Appender>

    <appender name="catAppender" class="com.dianping.cat.log4j.CatAppender"></appender>  

b)在Root的节点中加入catAppender

     <root>       <level value="error">       <appender-ref ref="catAppender">     </appender-ref></level></root>  

c)注意有一些Log的是不继承root的,需要如下配置

      <logger name="com.dianping.api.location" additivity="false">        <level value="INFO">        <appender-ref ref="locationAppender">        <appender-ref ref="catAppender">      </appender-ref></appender-ref></level></logger>  
0 0
原创粉丝点击