CAT使用之Client集成

官方文档已经写得足够详细了,这里只是记录个人的集成过程。

1. 引入依赖

在项目的 pom.xml 中引入如下内容:

<dependency>
    <groupId>com.dianping.cat</groupId>
    <artifactId>cat-client</artifactId>
    <version>2.0.0</version>
</dependency>

将引入如下Jar包:

cat-client-2.0.0.jar
foundation-service-4.0.0.jar
netty-all-4.0.25.Final.jar
gson-1.6.jar

2. 配置domain

在项目的src/main/resources/META-INF目录下添加名为app.properties配置文件, 并在其中加入如下内容(其中XXX就是你要为本项目配置的domain名称):

app.name=XXX

3. web.xml

加入如下Filter:

<!-- 该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>

4. CAT工作目录

我们还需要为CAT创建一个工作时目录,用于存放日志和一些运行时生成的配置信息等。

在将要部署到的tomcat,其所在目录的根目录(这里我们假设为E:/),执行如下命令:

cd E:/
mkdir -p ./data/appdatas/cat
mkdir -p ./data/applogs/cat

注意上面提到的 根目录;在使用Eclipse启动项目时,该根目录则应该是Eclipse的工作目录(使用System.getProperty("user.dir")获取)

5. 配置文件client.xml

在上面创建的E:/data/appdatas/cat/目录下,新建一个名为client.xml文件,并在其中填入如下内容:

<config mode="client" xmlns:xsi="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="config.xsd">
      <servers>
          <!-- 服务端地址, 端口固定-->
         <server ip="127.0.0.1" port="2280" />
     </servers>
    <!-- 用于关闭CAT消息发送,将enabled改为false,如下表示将mobile-api这个项目关闭 -->
     <domain id="mobile-api" enabled="false"/>
  </config>

6. 注意事项

其他一些非必要的注意事项就放到这里了。

6.1 struts2

struts会吃掉URL中的ERROR信息,所以我们需要在struts2.xml文件中加入如下内容:

 <constant name="struts.handle.exception" value="false" /> 

7. 集成

这个不单独成文了,因为官方的文档已经足够了,这里也只是列举一些注意事项。

7.1 Log4j2

GitHub

这里需要注意的是: 我们需要让Log4j2感知到我们自定义的Appender。可以参考下这个链接: Log4j2自定义Appender注意事项

另外以下为来自官方的建议:
1. 所有Log都打到CAT,这样才能更快发现问题。
2. 建议在Root节点中添加次appendar。

7.2 Mybatis

GitHub

  1. 集成文档 - 官方
  2. 框架埋点方案集成 - GitHub

猜你喜欢

转载自blog.csdn.net/lqzkcx3/article/details/80579473