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]
struts会吃掉URL中的ERROR信息,请在配置中加
解决URL中很多重复的问题,比如restfull的url
2.Pom.xml中更新jar包(点评内部公共组件,外部公司可以忽略)
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申请的名字,比如
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名字用来做开关,如果一台机器上部署了多个应用,可以指定把一个应用的监控关闭。
alpha、beta这个配置需要自己在此目录添加
预发以及生产环境这个配置需要通知到对应OP团队,让他们统一添加,自己上线时候做下检查即可
a、192.168.213.115:2280端口是指向测试环境的cat地址
b、配置可以加入CAT的开关,用于关闭CAT消息发送,将enabled改为false,如下表示将mobile-api这个项目关闭
5.CAT的Log4j集成 【建议所有Log都打到CAT,这样才能更快发现问题】
业务程序的所有异常都通过记录到CAT中,方便看到业务程序的问题,建议在Root节点中添加次appendar
a)在Log4j的xml中,加入Cat的Appender>
b)在Root的节点中加入catAppender
c)注意有一些Log的是不继承root的,需要如下配置
./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>
相关文章推荐
- Android开源项目 — GitHub开源控件的使用合集
- java泛型
- 蓝桥杯 穿越雷区
- 基于Netty4的HttpServer和HttpClient的简单实现
- selectIve search for object recognize
- python中的正则表达式的学习
- 并发环境下HashMap引起的full gc排查
- nginx的负载均衡策略
- 防止Toast连续显示
- iOS自定义转场详解02——实现Keynote中的神奇移动效果
- maven中ssm通用分页
- nginx安装与应用
- js学习笔记5----函数传参
- hive UDTF函数
- MySQL报错:This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME
- 抽象类和接口的方法
- airdrop分享, Sender kSFOperationEventErrorOccured {
- Java开发环境的搭建以及使用eclipse从头一步步创建java项目
- JAVA类加载器和tomcat类加载体系
- Android_JNI_NDK_入门资料