背景
我使用cat时,接入的项目既有传统项目又有springboot项目,所以我两种类型的项目介绍一下不同的地方
1、在项目的 pom.xml 中引入如下内容:
maven项目
<dependency>
<groupId>com.dianping.cat</groupId>
<artifactId>cat-client</artifactId>
<version>3.0.0</version>
</dependency>
引入后会自动加入所需要的包
非maven项目
cat-client-2.0.0.jar
foundation-service-4.0.0.jar
netty-all-4.0.25.Final.jar
gson-1.6.jar
注意:cat-client这个包不要引错了,我当时就是引错了,走了波弯路,这个在cat\lib\java\jar目录下取
2、添加过滤器
springboot项目
@Bean
public FilterRegistrationBean catFilter(){
FilterRegistrationBean registration = new FilterRegistrationBean(new CatFilter());
registration.addUrlPatterns("/*");
registration.setName("cat-filter");
registration.setOrder(1);
return registration;
}
传统项目
<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>
</filter-mapping>
3、创建cat所需要的目录 及配置文件
创建/data/appdatas/cat/client.xml配置服务器地址
创建\data\applogs\cat存放日志文件
4、配置client.xml
<?xml version="1.0" encoding="utf-8"?>
<config mode="client">
<servers>
<server ip="172.19.16.153" port="2280" http-port="8080"/>
</servers>
<!-- 用于关闭CAT消息发送,将enabled改为false,如下表示将mobile-api这个项目关闭 -->
<domain id="mobile-api" enabled="false"/>
</config>
5、创建app.properties
里面name是在cat中的名字
app.name=XXX
maven项目
放在src/main/resources/META-INF下
传统项目
放在src/META-INF下
或者
放在resources/META-INF下面
6、查看cat中是否有了你刚刚接入的监控项目
cat修改自定义路径
1、读取文件的目录在Cat.java中的getCatHome(), 修改CAT_HOME_DEFAULT_DIR即可
2、app.properties在DefaultClientConfigManager中的PROPERTIES_FILE