springmvc+dubbo+mybatis 接入大众点评 CAT 监控平台

栏目: Java · 发布时间: 7年前

内容简介:客户端应用程序接入如果你的客户端程序是运行在

Windows Java 8 Maven 3.5 MySQL 5.7 CAT 2.0.0 Dubbo 2.6 Spring 4.3

2. 客户端配置

客户端应用程序接入 CAT 需要在系统的特定路径中部署 client.xml 配置文件。 Windows 系统和 Linux 系统的部署路径不一样,但其内容是一样的。

2.1 Windows 客户端配置

如果你的客户端程序是运行在 Windows 系统中,例如你的应用程序项目所在的目录路径是 D:\application\workspace\idea\springmvc-dubbo-mybatis-with-cat-sample 。那么,你需要在此项目所在的盘符(即这里的 D 盘)创建 data\appdatas\cat 目录,并将 client.xml 配置文件存放在这个路径中。如作者的客户端配置文件 D:\data\appdatas\cat\client.xml

<?xml version="1.0" encoding="utf-8"?>
<configmode="client"xmlns:xsi="http://www.w3.org/2001/XMLSchema"xsi:noNamespaceSchemaLocation="config.xsd">
    <servers>
        <serverip="10.10.10.121"port="2280"http-port="8080"/>
        <serverip="10.10.10.122"port="2280"http-port="8080"/>
        <serverip="10.10.10.123"port="2280"http-port="8080"/>
    </servers>
</config>

2.1 Linux 客户端配置

如果你的客户端程序是运行在 Linux 系统中,那么你需要创建 /data/appdatas/cat 目录,并确保运行程序的用户对此目录有读写权限。然后将 client.xml 配置文件存放在这个路径中。配置文件的内容与上同。

3. 配置监控的项目名

在需要接入 CAT 监控平台的项目中新建属性配置文件 src/main/resources/META-INF/app.properties 。其内容如下:

################## CAT会自动加载此文件 ##################
# 应用的名称(可以根据此名称在CAT的管理控制台查找对应的信息)
app.name=service-article

4. URL 监控埋点

客户端程序接入 CAT 需要依赖 cat-client 包。由于 cat-client 没有加入 maven 远程中央仓库,因此需要指定 CAT 专用的远程仓库。在需要接入 CAT 监控平台的 web 项目的 pom.xml 中加入如下配置:

<repositories>
    <!-- CAT client 仓库 -->
    <repository>
        <id>unidal-nexus-repo</id>
        <url>http://unidal.org/nexus/content/repositories/releases</url>
    </repository>
</repositories>
<dependencies>
    <!-- 客户端接入CAT的依赖 -->
    <dependency>
        <groupId>com.dianping.cat</groupId>
        <artifactId>cat-client</artifactId>
        <version>${cat-client.version}</version>
    </dependency>
</dependencies>

然后在 web 项目的 web.xml 配置文件中加入如下配置即可:

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

接入后,在 Transaction 中会生成 URL 信息。效果图(缩略图,可右键在新标签页打开图片查看):

springmvc+dubbo+mybatis 接入大众点评 CAT 监控平台

5. mybatis 接入

项目地址: https://github.com/fanlychie/cat-client-mybatis

你可以检出项目手工执行安装到本地的 maven 仓库。或者使用博主托管在 githubmaven 仓库:

<!-- CAT mybatis和dubbo 仓库 -->
<repositories>
    <repository>
        <id>fanlychie-maven-repo</id>
        <url>https://raw.github.com/fanlychie/maven-repo/releases</url>
    </repository>
</repositories>
<dependencies>
    <!-- mybatis接入CAT的依赖 -->
    <dependency>
        <groupId>com.dianping.cat</groupId>
        <artifactId>cat-client-mybatis</artifactId>
        <version>2.0.0</version>
    </dependency>
</dependencies>

接入方式(这里仅给出 spring 的 xml 配置参考方式):

<beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">
    <propertyname="dataSource"ref="dataSource"/>
    <propertyname="typeAliasesPackage"value="org.fanlychie.entity"/>
    <propertyname="configLocation"value="classpath:mybatis-config.xml"/>
    <propertyname="mapperLocations"value="classpath*:mapper/*.xml"/>
    <!-- MyBatis 接入 CAT -->
    <propertyname="plugins">
        <array>
            <beanclass="com.wanda.cat.sample.plugins.CatMybatisPlugin"></bean>
        </array>
    </property>
</bean>

接入后,在 Transaction 中会生成 SQL 信息。效果图(缩略图,可右键在新标签页打开图片查看):

springmvc+dubbo+mybatis 接入大众点评 CAT 监控平台

6. dubbo 接入 (生产者端)

项目地址: https://github.com/fanlychie/cat-dubbo-monitor

你可以检出项目手工执行安装到本地的 maven 仓库。或者使用博主托管在 githubmaven 仓库:

<!-- CAT mybatis和dubbo 仓库 -->
<repositories>
    <repository>
        <id>fanlychie-maven-repo</id>
        <url>https://raw.github.com/fanlychie/maven-repo/releases</url>
    </repository>
</repositories>
<dependencies>
    <!-- dubbo接入CAT的依赖 -->
    <dependency>
        <groupId>net.dubboclub</groupId>
        <artifactId>cat-dubbo-monitor</artifactId>
        <version>0.0.6</version>
    </dependency>
</dependencies>

接入方式:只需要声明依赖包,不需要做任何配置。接入后,在cat中会出现cross报表,dependency,服务端的matrix以及调用链路的trace信息。

效果图(缩略图,可右键在新标签页打开图片查看):

springmvc+dubbo+mybatis 接入大众点评 CAT 监控平台

7. dubbo 接入 (web消费者端)

项目地址: https://github.com/fanlychie/cat-client-dubbo

你可以检出项目手工执行安装到本地的 maven 仓库。或者使用博主托管在 githubmaven 仓库:

<!-- CAT mybatis和dubbo 仓库 -->
<repositories>
    <repository>
        <id>fanlychie-maven-repo</id>
        <url>https://raw.github.com/fanlychie/maven-repo/releases</url>
    </repository>
</repositories>
<dependencies>
    <!-- 客户端dubbo接入CAT -->
    <dependency>
        <groupId>org.fanlychie</groupId>
        <artifactId>cat-client-dubbo</artifactId>
        <version>1.0.0</version>
    </dependency>
</dependencies>

接入方式为,在 web 项目的消费者端 dubbo 配置文件中加入如下配置:

<dubbo:consumerfilter="CatClientFilter"/>

接入后,在 TransactionURL 中会生成 dubbo 调用链路的 trace 信息。

接入前的效果图(缩略图,可右键在新标签页打开图片查看):

springmvc+dubbo+mybatis 接入大众点评 CAT 监控平台

接入后的效果图(缩略图,可右键在新标签页打开图片查看):

springmvc+dubbo+mybatis 接入大众点评 CAT 监控平台

8. log4j 接入

异常日志信息接入将异常日志上报到 CAT 服务器,方便查看异常日志。

log4j.rootCategory = INFO, ...xxx... , CAT
# 异常日志上报到CAT
log4j.appender.CAT = com.dianping.cat.log4j.CatAppender
log4j.appender.CAT.Threshold = ERROR

9. 项目启动报错问题

当启动两个或以上依赖 cat-client 包的项目的时候,会报出如下错误,致使服务无法正常提供服务:

2018-08-05 23:14:01:326 [main] ERROR [Server:102] -  [DUBBO] qos-server can not bind localhost:22222, dubbo version: 2.6.0, current host: 127.0.0.1
java.net.BindException: Address already in use: bind

这是 dubboqos 服务端口冲突引起的,其默认使用 22222 端口。可以在项目的 dubbo.properties 属性配置文件中修改此端口:

# 避免端口冲突, 默认端口22222
dubbo.qos.port=20221

完整示例项目链接: springmvc-dubbo-mybatis-with-cat-sample

参考文档文献链接: https://github.com/dianping/cat


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入浅出 MFC 第二版

深入浅出 MFC 第二版

侯俊杰 / 松岗 / 1997.05

深入浅出MFC是一本介绍 MFC(Microsoft Foundation Classes)程式设计技术的书籍。对於 Windows 应用软体的开发感到兴趣,并欲使用 Visual C++ 整合环境的视觉开发工具,以 MFC 为程式基础的人,都可以从此书获得最根本最重要的知识与实例。 如果你是一位对 Application Framework 和物件导向(Object Orien......一起来看看 《深入浅出 MFC 第二版》 这本书的介绍吧!

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具