大众点评 Cat 监控平台搭建

1.前言:

看了网上很多的Cat服务的搭建,要不是2.0的版本要不是用maven命令打包,但是本猿各种方式试过均不成功,用maven命令中出现打包错误的,再就是各种配置文件网友也没有说明在哪个节点配置,配置对应的参数对于新手来说都很模糊。是乎就还是去看官网  地址:https://github.com/dianping/cat   测试版本3.0.0  服务采用centos6.5部署

2.进入官网可以找到   服务端>集群部署  当然本人测试的是单机版本的,其原理差不多 只是多了几个服务器节点而已

3.想我一样不熟悉docker的前面直接忽略,看下面重要的  找到第六部,既然自己打包不成功那么我们就自己下载war包。如下图:

4.从官网下载后,我们需要将这个war部署在我们的centos服务器上,启动之前需要配置服务器的数据库文件  

4.1创建目录 mkdir -p /data/appdatas/cat  并且赋予相应的权限 chmod 755 /data/appdatas/cat

4.2在该目录下创建文件 datasources.xml 内容复制官网上的 如下:

<?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>  <!-- 请替换为真实数据库URL及Port  -->
			<user>root</user>  <!-- 请替换为真实数据库用户名  -->
			<password>root</password>  <!-- 请替换为真实数据库密码  -->
			<connectionProperties><![CDATA[useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&socketTimeout=120000]]></connectionProperties>
		</properties>
	</data-source>
</data-sources>

记得修改配置文件中数据库地址和用户名和密码

数据库脚本将官网下的script目录下的CatApplication.sql直接导入到自己的数据库

至于/data 下的日志文件好像会自动创建,没做详细的测试,不放心的话 可以手动创建 mkdir -p /data/applogs/cat

4.3 启动cat的war包 本人用tomcat测试

4.4 这时候其实就可以访问你的cat项目了,只是没有监控业务项目的访问

5.配置路由地址 不配置的话点击application 会出现 cat服务无法访问[127.0.0.1] 类似的报错 配置地址参考官网

 http://127.0.0.1:8080/cat/s/config?op=routerConfigUpdate

官网截图如下:

注意 127.0.0.1  的ip配置改成你部署的cat项目的内网IP  

重启项目 点击application 就不会提示刚才的错误啦!

6.配置客户端的访问  重要配置文件 client.xml

  内容可以参考官网的数据例子 如下:

<?xml version="1.0" encoding="utf-8"?>
<config mode="client">
    <servers>
        <server ip="127.0.0.1" port="2280" http-port="8080"/>
    </servers>
</config>

 注意client配置的ip指的是你的cat服务所在的ip http-port指的是你cat项目的访问端口  port  2280 不要修改 默认的

 client.xml所在的配置文件是和你业务项目部署在同一台服务器的。并且所在的目录也是  /data/appdatas/cat  和4.1步骤一样的只是配置文件只有client.xml 不需要数据源的xml文件

7.项目监控

本人测试采用的是springboot的方式 其实都无所谓

pom文件中引入 

        <!-- 客户端接入CAT的依赖 -->
        <dependency>
            <groupId>com.dianping.cat</groupId>
            <artifactId>cat-core</artifactId>
            <version>3.0.0</version>
        </dependency>

8.在  src/main/resources目录下创建 文件夹META-INF 在META-INF下创建app.properties文件

我的内容为:app.name=testcat  testcat可以改成你自己的项目名称

9.测试controller

    @RequestMapping("test")
    public String test(){
        Transaction t = Cat.newTransaction("URL", "/test");
        Cat.logEvent("your event type", "your event name", Event.SUCCESS, "keyValuePairs");
        t.setStatus(Transaction.SUCCESS);
        return "test";
    }

10.将项目部署到业务服务器上启动项目 访问test方法 查看cat项目的页面 点击Transaction 搜索你自己的项目名称

 

就可以看到你自己的项目访问路径啦! 至此完成

11.遇到的坑 总结:

 1.项目用maven打包 无法启动   改成直接下载war包

 2.路由配置 需要配置服务器内网ip

 3.记住cat服务器不需要配置client.xml 除非你要监控你自己本身的访问

 4.如果业务服务器在windows上cat 埋点无法记录到 具体原因我也没来得及深究,基本上都是Linux服务器

 5.client必须要在每一个你的业务服务器中配置。且ip必须是你的cat 服务的ip和端口。否则无法和cat通讯

埋头苦干 一个人研究技术是孤独的,尤其是网上的文章基本上都实现不了的情况下,研究了好几天才完成,mark一下!

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你微笑莳很美丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值