您的位置:首页 > 其它

cat客户端集成

2016-05-13 11:23 881 查看
配置内容: web.xml配置过滤器;struts配置异常控制;添加对cat jar的依赖,添加对app.properties属性配置。添加client.xml

./data/appdatas/cat/目录下,新建一个client.xml文件(线上环境是OP配置) eclipse 根目录下,与服务器端一样配置。

1.Web.xml中新增filter

注:如果项目是对外不提供URL访问,比如GroupService,仅仅提供Pigeon服务,则不需要。
[b]Filter放在url-rewrite-filter 之后的第一个,如果不是会导致URL的个数无限多,比如search/1/2,search/2/3等等,无法监控,后端存储压力也变大。[/b]

<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("cat-page-uri", "myPageName");


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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: