内容简介:客户端应用程序接入如果你的客户端程序是运行在
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 信息。效果图(缩略图,可右键在新标签页打开图片查看):
5. mybatis 接入
项目地址: https://github.com/fanlychie/cat-client-mybatis
你可以检出项目手工执行安装到本地的 maven 仓库。或者使用博主托管在 github 的 maven 仓库:
<!-- 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 信息。效果图(缩略图,可右键在新标签页打开图片查看):
6. dubbo 接入 (生产者端)
项目地址: https://github.com/fanlychie/cat-dubbo-monitor
你可以检出项目手工执行安装到本地的 maven 仓库。或者使用博主托管在 github 的 maven 仓库:
<!-- 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信息。
效果图(缩略图,可右键在新标签页打开图片查看):
7. dubbo 接入 (web消费者端)
项目地址: https://github.com/fanlychie/cat-client-dubbo
你可以检出项目手工执行安装到本地的 maven 仓库。或者使用博主托管在 github 的 maven 仓库:
<!-- 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"/>
接入后,在 Transaction 的 URL 中会生成 dubbo 调用链路的 trace 信息。
接入前的效果图(缩略图,可右键在新标签页打开图片查看):
接入后的效果图(缩略图,可右键在新标签页打开图片查看):
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
这是 dubbo 的 qos 服务端口冲突引起的,其默认使用 22222 端口。可以在项目的 dubbo.properties 属性配置文件中修改此端口:
# 避免端口冲突, 默认端口22222 dubbo.qos.port=20221
完整示例项目链接: springmvc-dubbo-mybatis-with-cat-sample
参考文档文献链接: https://github.com/dianping/cat
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- springboot应用接入druid监控
- Fundebug发布Vue插件,简化BUG监控接入代码
- 监控全覆盖,接入只需 5 分钟:爱奇艺内容中台基于 CAT 的服务监控实践
- 云转码接入视频网站解决方案 express-ffmpeg接入discuz方案
- 数据接入治理平台
- 【Netty】如何接入新连接
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JAVA 2核心技术 卷Ⅰ
[美] 霍斯特曼、[美] 科奈尔 / 叶乃文、邝劲筠 等 / 机械工业出版社 / 2006-5 / 88.00元
本书是Java技术经典参考书,多年畅销不衰,第7版在保留以前版本风格的基础上,涵盖Java2开发平台标准版J2SE5.0的基础知识,主要内容包括面各对象程序设计、反射与代理、接口与内部类、事件监听器模型、使用Swing UI工具箱进行图形用户界面设计,异常处理、流输入/输出和对象序列化、泛型程序设计等。 本书内容翔实、深入浅出,附有大量程序实例,极具实用价值,是Java初学者和Java程序员......一起来看看 《JAVA 2核心技术 卷Ⅰ》 这本书的介绍吧!