CAT 服务端搭建- 拉代码-编译-配置

前言

  • CAT 项目github地址:https://github.com/dianping/cat
  • CAT 服务端官方部署介绍:https://github.com/dianping/cat/wiki/readme_server

打包cat

  • 操作系统:windows 10
  • jdk :1.8 (目前1.6,1.7,1.8都支持,官方推荐1.7)
  • maven : 3.5.4

部署cat环境

  • centos 7
  • jdk 1.8
  • mysql 5.7

cat 组件组成

CAT主要由以下组件组成(我这边搭建就是cat-home):

  • cat-home: 服务端组件,负责收集监控信息,分析处理生成报告、执行告警
  • cat-client: 客户端组件,负责与服务端进行连接通信,
  • cat-core: 核心处理组件,负责具体的与客户端通信服务,解析数据、输出报告
  • cat-consumer : 消费处理组件,负责实际的监控数据分析,处理工作
  • cat-hadoop : HDFS存储组件

1. 下载项目

clean install -Dmaven.test.skip=true
  • 打成war包

2. 配置cat数据库

  • 在mysql下建cat数据库
  • 编码格式选择utf8mb4(文档要求)
  • 将以下sql文件导入cat数据库执行


3. 配置CAT的配置文件目录

配置文件所在目录要和tomact所在目录

\data\appdatas\cat

\data\applogs\cat
  • 在data\appdatas\cat目录下添加client.xml文件
  • 说明
    • 此配置文件的作用是所有的客户端都需要一个地址指向CAT的服务端
    • 此文件可以通过运维统一进行部署和维护,比如使用puppet等运维工具
    • 不同环境这份文件不一样,比如区分prod环境以及test环境,在美团点评内部一共是2套环境的CAT,一份是生产环境,一份是测试环境
    • 注意:当路由错误,且该文件夹下存在client_cache.xml,请删除client_cache.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>
    
  • 在data\appdatas\cat目录下添加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></password>  <!-- 请替换为真实数据库密码  -->
			<connectionProperties><![CDATA[useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&socketTimeout=120000]]></connectionProperties>
		</properties>
	</data-source>
</data-sources>

4. tomact配置

  1. 把war名字改成cat.war
  2. 修改中文乱码问题
<Connector port="8080" protocol="HTTP/1.1"
           URIEncoding="utf-8"    connectionTimeout="20000"
               redirectPort="8443" />
  1. 官方文档里说还要调整启动参数,修改 catalina.sh文件,自己搞吧,这里不伺候。

5. 启动项目

打开控制台的URL,http://127.0.0.1:8080/cat/s/config?op=routerConfigUpdate

默认用户名:admin 默认密码:admin。CAT本身无登录和权限校验功能,请按需定制

本机路由

  • 服务端配置 (http://127.0.0.1:8080/cat/s/config?op=serverConfigUpdate)

  • 说明:这个只需要更新一次,配置是保存在mysql的数据库里面。

  • CAT节点的不同职责(抄的,暂时也不是很清楚)

    • 控制台 - 提供给业务人员进行数据查看【默认所有的cat节点都可以作为控制台,不可配置】
    • 消费机 - 实时接收业务数据,实时处理,提供实时分析报表【默认所有的cat节点都可以作为消费机,不可配置】
    • 告警端 - 启动告警线程,进行规则匹配,发送告警(目前仅支持单点部署)【可以配置】
    • 任务机 - 做一些离线的任务,合并天、周、月等报表 【可以配置】
  • 如下的直接抄进去就好了

<?xml version="1.0" encoding="utf-8"?>
<server-config>
   <server id="default">
      <properties>
         <property name="local-mode" value="false"/>
         <property name="job-machine" value="false"/>
         <property name="send-machine" value="false"/>
         <property name="alarm-machine" value="false"/>
         <property name="hdfs-enabled" value="false"/>
         <property name="remote-servers" value="127.0.0.1:8080"/>
      </properties>
      <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>
      <consumer>
         <long-config default-url-threshold="1000" default-sql-threshold="100" default-service-threshold="50">
            <domain name="cat" url-threshold="500" sql-threshold="500"/>
            <domain name="OpenPlatformWeb" url-threshold="100" sql-threshold="500"/>
         </long-config>
      </consumer>
   </server>
   <server id="127.0.0.1"> <!-- 本机模式这个IP替换为cat拿到的内网IP,此IP是看transaction报表下cat的自己上报的IP,用127.0.0.1是没用的。 -->
      <properties>
         <property name="job-machine" value="true"/>
         <property name="alarm-machine" value="true"/>
         <property name="send-machine" value="true"/>
      </properties>
   </server>
</server-config>

结束

没了

客户端配置

https://www.yepk.cn/archives/springboot-dinaping-cat.html

# linux   工具   cat  

评论

企鹅群:39438021

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×