CAT是一个实时和接近全量的监控系统,它侧重于对Java应用的监控,除了与点评RPC组件融合的很好之外,他将会能与Spring、MyBatis、Dubbo 等框架以及Log4j 等结合,支持PHP、C++、Go等多语言应用,基本接入了美团点评上海侧所有核心应用。目前在中间件(MVC、RPC、数据库、缓存等)框架中得到广泛应用,为美团点评各业务线提供系统的性能指标、健康状况、监控告警等,在微服务监控领域也是非常有用的一套组件。支撑这美团每天450亿的消息,50TB的数据监控,应用于 7000+应用服务器,2000+的业务,单台机器能15W qps,15台CAT物理集群,有着极高的性能,同时CAT支持丰富的报表,架构拥有灵活的扩展性,用户可以定制自己的监控、报表需求,本文将就CAT的部署、架构源码以及多语言支持等方面展开剖析。CAT在携程、陆金所、猎聘网、找钢网、平安银行等多家互联网公司生产环境应用。
 

这个项目光看GitHub上面的根本不够 我踩了太多的坑每个版本都下了

这里是Cat下载地址https://github.com/dianping/cat/tree/master/integration

现在总结一下。首先我来说说版本先说然后再说怎么跑

找不到版本的留下邮箱我发

master是最新的版本但是我第一次尝试没有成功,按照百度的流程会出现

如下之类的500报错

然后用了一个百度的版本不知道是不是个别大佬自己封装的 需要的可以留下邮箱我会发

这个版本能跑起来就这样总结

然后我用了

这个版本 youyong 这个版本也能够跑起来但是个别功能500

然后我最后发现这个版本毕竟稳定,但是我没有找到集成logback的jar这需要自己写

版本介绍完了下面说一下如何跑起来

首先说说我的环境

jdk8

win10

MVN

MYSQL5.7

TOMCAT8.0 我以前是有9.0的 网上说跑不起来 我也不敢弄所以直接弄个8.0版本

下载完后解压

这个目录直接运行

mvn clean install -DskipTests

打包

然后紧接着运行 会输入数据库账号密码

mvn cat:install

你会发现当前这个项目存在的根目录下会有data这个目录 根目录==CDEF盘 然后数据库多出个cat

如果上面这步执行不了不要着急,我第一次也是这样,我也是后面用2.0版本才成功3.0我没成功 可能是mvn版本问题

我来说说无法执行这步的解决方法

首先在项目目录

有个这个目录 先在数据库创建名字cat的库

执行上图文件夹里面的sql文件

就解决数据库问题了

然后也在

这个目录下会有xml配置文件,你手动创建目录我的项目放在D盘所以D 你们根据情况 linux就不用区分

D:\data\appdatas\cat

将上图配置文件复制过来等下再说配置内容

这是我复制过来后的样子 其他多余文件在项目跑起来会自己创建 但是要给data目录写入权限

<?xml version="1.0" encoding="utf-8"?>

<config mode="client" xmlns:xsi="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="config.xsd">
	<servers>
		<!-- Local mode for development -->
		<server ip="127.0.0.1" port="2280" http-port="8888" />
		<!-- If under production environment, put actual server address as list. -->
		<!-- 
			<server ip="192.168.7.71" port="2280" /> 
			<server ip="192.168.7.72" port="2280" /> 
		-->
	</servers>
</config>

这个是client的xml文件的配置内容

<?xml version="1.0" encoding="utf-8"?>

<!-- Configuration for development environment-->
<config local-mode="false" hdfs-machine="false" job-machine="true" alert-machine="false">
	
	<storage  local-base-dir="/data/appdatas/cat/bucket/" max-hdfs-storage-time="15" local-report-storage-time="7" local-logivew-storage-time="7">
	
	</storage>
	
	<console default-domain="Cat" show-cat-domain="true">
		<remote-servers>127.0.0.1:8080</remote-servers>		
	</console>
		
</config>

<!-- Configuration for production environment -->
<!-- Note: -->
<!-- 1. Set local-mode false to activate remote mode. -->
<!-- 2. If machine is job-machine, set job-machine true, you just need config only one machine. Job is offline for report aggreation, statistics report.-->
<!-- 3. If machine is alert-machine, set alert-machine true, you just need config only one machine. -->
<!-- 4. Cat can run without hdfs, you just config hdfs-machine false. If you have hdfs, you can config hdfs info for saving the logview info.  -->
<!-- 5. If you don't need hdfs, the logview will be stored in local disk. You can config max local-logivew-storage-time for cleaning up old logview, the unit is day. -->
<!-- 6. Please set hadoop environment accordingly. -->
<!-- 7. Please config remote-server if you have many cat servers. -->
<!-- 
<config local-mode="false" hdfs-machine="false" job-machine="false" alert-machine="false">
	<storage  local-base-dir="/data/appdatas/cat/bucket/" max-hdfs-storage-time="15" local-report-storage-time="7" local-logivew-storage-time="7">
		<hdfs id="logview" max-size="128M" server-uri="hdfs://10.1.77.86/user/cat" base-dir="logview"/>
		<hdfs id="dump" max-size="128M" server-uri="hdfs://10.1.77.86/user/cat" base-dir="dump"/>
		<hdfs id="remote" max-size="128M" server-uri="hdfs://10.1.77.86/user/cat" base-dir="remote"/>
	</storage>

	<console default-domain="Cat" show-cat-domain="true">
		<remote-servers>192.168.0.1:8080,192.168.0.2:8080</remote-servers>		
	</console>
	
</config>

-->

这段代码其实只有上半部分有效 下面是屏蔽了的

<?xml version="1.0" encoding="utf-8"?>

<data-sources>
	<data-source id="cat">
		<maximum-pool-size>3</maximum-pool-size>
		<connection-timeout>1s</connection-timeout>
		<idle-timeout>10m</idle-timeout>
		<statement-cache-size>1000</statement-cache-size>
		<properties>
			<driver>com.mysql.jdbc.Driver</driver>
			<url><![CDATA[jdbc:mysql://127.0.0.1:3306/cat]]></url>
			<user>root</user>
			<password>root</password>
			<connectionProperties><![CDATA[useUnicode=true&autoReconnect=true]]></connectionProperties>
		</properties>
	</data-source>
	<data-source id="app">
		<maximum-pool-size>3</maximum-pool-size>
		<connection-timeout>1s</connection-timeout>
		<idle-timeout>10m</idle-timeout>
		<statement-cache-size>1000</statement-cache-size>
		<properties>
			<driver>com.mysql.jdbc.Driver</driver>
			<url><![CDATA[jdbc:mysql://127.0.0.1:3306/cat]]></url>
			<user>root</user>
			<password>root</password>
			<connectionProperties><![CDATA[useUnicode=true&autoReconnect=true]]></connectionProperties>
		</properties>
	</data-source>
</data-sources>

这个是数据库配置文件密码那些自己改 我相信没人不会吧

然后基本环境配置好了

在项目目录

cathome打好的war包

改名字位 cat放入tomcat启动  这一步都是基本没必要讲了吧

放入后的样子然后启动访问http://127.0.0.1:8080/cat/r

如果要登陆就是catadmin账号密码都是这个

cat2.0我上传了 https://download.csdn.net/download/weixin_42287052/12103439

很少写博客 我怕很少人看得懂 所以暂时先不写如何集成springboot mybatis-plus lgoback 如果很多人反馈需要这些教程我会再发的

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐