<返回更多

分布式监控CAT服务端的本地部署

2020-06-05    
加入收藏

一、CAT简介

分布式监控CAT服务端的本地部署

 

CAT

CAT(Central Application Tracking),是美团点评基于 JAVA 开发的一套开源的分布式实时监控系统。美团点评基础架构部希望在基础存储、高性能通信、大规模在线访问、服务治理、实时监控、容器化及集群智能调度等领域提供业界领先的、统一的解决方案,CAT 目前在美团点评的产品定位是应用层的统一监控组件,在中间件(RPC、数据库、缓存、MQ 等)框架中得到广泛应用,为各业务线提供系统的性能指标、健康状况、实时告警等服务。

二、部署环境

三、开始部署

1.下载CAT源码

git clone https://github.com/dianping/cat.git

2.初始化数据库

在MySQL中创建cat数据库,然后执行script/Cat.sql中的SQL语句。

3.创建配置文件

在Tomcat所在的盘中创建/data/appdatas/cat文件夹,然后创建
/data/appdatas/cat/client.xml文件,写入如下内容:

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

其中,192.168.1.111改为你电脑的内网IP,2280是默认的CAT服务端接受数据的端口,不允许修改,http-port是Tomcat启动的端口,默认是8080,建议使用默认端口。

再创建
/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://192.168.1.111: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>

其中,需要替换的有:数据库IP、port、用户名和密码。

4.CAT的war部署

使用Maven构建AT的war:

mvn clean install -DskipTests

构建成功后,将
cat-home/target/cat-alpha-3.0.0.war重命名为cat.war,复制到Tomcat的webapps下,启动tomcat。

5.修改路由配置

访问
http://192.168.1.111:8080/cat/s/config?op=routerConfigUpdate,默认用户名:admin 默认密码:admin,修改客户端路由配置:

<?xml version="1.0" encoding="utf-8"?>
<router-config backup-server="192.168.1.111" backup-server-port="2280">
   <default-server id="192.168.1.111" weight="1.0" port="2280" enable="true"/>
   <network-policy id="default" title="默认" block="false" server-group="default_group">
   </network-policy>
   <server-group id="default_group" title="default-group">
      <group-server id="192.168.1.111"/>
   </server-group>
   <domain id="cat">
      <group id="default">
         <server id="192.168.1.111" port="2280" weight="1.0"/>
      </group>
   </domain>
</router-config>

配置说明:

6.修改服务端配置

访问
http://192.168.1.111:8080/cat/s/config?op=serverConfigUpdate,修改服务端配置:

<?xml version="1.0" encoding="utf-8"?>
<server-config>
   <server id="default">
      <properties>
         <property name="local-mode" value="false"/>
         <property name="job-machine" value="true"/>
         <property name="send-machine" value="false"/>
         <property name="alarm-machine" value="true"/>
         <property name="hdfs-enabled" value="false"/>
         <property name="remote-servers" value="192.168.1.111:8080"/>
      </properties>
      <storage local-base-dir="/data/appdatas/cat/bucket/" max-hdfs-storage-time="15" local-report-storage-time="2" local-logivew-storage-time="1" har-mode="true" upload-thread="5">
         <hdfs id="dump" max-size="128M" server-uri="hdfs://127.0.0.1/" base-dir="/user/cat/dump"/>
         <harfs id="dump" max-size="128M" server-uri="har://127.0.0.1/" base-dir="/user/cat/dump"/>
         <properties>
            <property name="hadoop.security.authentication" value="false"/>
            <property name="dfs.namenode.kerberos.principal" value="hadoop/dev80.hadoop@testserver.com"/>
            <property name="dfs.cat.kerberos.principal" value="cat@testserver.com"/>
            <property name="dfs.cat.keytab.file" value="/data/appdatas/cat/cat.keytab"/>
            <property name="java.security.krb5.realm" value="value1"/>
            <property name="java.security.krb5.kdc" value="value2"/>
         </properties>
      </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="192.168.1.111">
      <properties>
         <property name="job-machine" value="true"/>
         <property name="send-machine" value="false"/>
         <property name="alarm-machine" value="true"/>
      </properties>
   </server>
</server-config>

配置说明:server节点:代表一台机器的配置。如果id为default,代表默认配置;如果id为ip,代表该台服务器的配置

storage节点: 定义数据存储配置信息

重新启动Tomcat。

四、验证

访问
http://192.168.1.111:8080/cat/r,点击“State”,可以看到“CAT服务端正常”和CAT一些基本状态,如下图:

分布式监控CAT服务端的本地部署

 

CAT State


点击“Transaction”,CAT自身的监控信息,如下图:

分布式监控CAT服务端的本地部署

 

Transaction

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>