转载

搭建大众点评CAT监控平台

搭建大众点评CAT监控平台

CAT(Central Application Tracking)是基于Java开发的实时应用监控平台,包括实时应用监控,业务监控。关于CAT的具体介绍可移步到 CAT官网 进行查阅。

1. 环境清单

CentOS 7 Java 8 Maven 3.5 MySQL 5.7 CAT 2.0.0 Tomcat 7.0

2. 安装 CAT

下载 CAT 安装包:

# wget -O cat-home-2.0.0.war http://unidal.org/nexus/service/local/repositories/releases/content/com/dianping/cat/cat-home/2.0.0/cat-home-2.0.0.war

cat-home-2.0.0.war 部署到 tomcat 并重命名为 cat.war

$ mv cat-home-2.0.0.war tomcat-7.0.90/webapps/cat.war

2.1 配置 CAT

在Linux系统安装时, CAT 应用要求对 /data/appdatas/cat/data/applogs/cat 路径有读写权限。

# mkdir -p /data/appdatas/cat && mkdir -p /data/applogs/cat
搭建大众点评CAT监控平台

CAT 服务端应用会对这两个目录进行读写操作,因此需要首先创建这两个目录。并且应确保启动 CAT 应用的用户对这两个目录有读写权限。

下载 CAT 的源码包:

$ wget -O cat-2.0.0.tar.gz https://codeload.github.com/dianping/cat/tar.gz/v2.0.0

解压缩:

# tar zxvf cat-2.0.0.tar.gz

解压缩完成后得到 cat-2.0.0 目录。其中 cat-2.0.0/script 目录中存放的是 CAT 客户端和服务端安装所需的一些配置文件:

文件 说明
client.xml 所有的CAT客户端都需要配置这个配置文件。它用于配置CAT部署的服务端信息。只有客户端配置了这个配置文件,客户端才能正确连接到CAT服务器端。该文件的部署路径是/data/appdatas/cat(该部署路径不能更改,并且启动客户端的程序的用户需要对此目录有读写权限)。
特殊的,部署CAT应用的服务端同时也是一个客户端,也需要配置该配置文件。
server.xml CAT服务端的配置文件。即安装CAT应用的服务器才需要配置。该文件的部署路径是/data/appdatas/cat(该部署路径不能更改,并且启动CAT应用的用户需要对此目录有读写权限)。
datasources.xml CAT服务端的配置文件。即安装CAT应用的服务器才需要配置。该配置文件用于配置CAT链接MySQL数据库的信息。该文件的部署路径是/data/appdatas/cat(该部署路径不能更改)。
Cat.sql CAT应用所需的MySQL数据库脚本。需将此脚本导入MySQL数据库中。

cat-2.0.0/script 目录中的 client.xmldatasources.xmlserver.xml 配置文件复制到目录 /data/appdatas/cat 中:

$ cp client.xml server.xml datasources.xml /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>
        <!-- ip:部署CAT应用的服务器IP
             port:CAT服务端接收客户端数据的端口(不允许更改)
             http-port:CAT应用部署到的容器的端口(tomcat的端口)
        -->
        <serverip="10.10.10.121"port="2280"http-port="8080"/>
    </servers>
</config>

服务端 server.xml 的配置内容如下:

<?xml version="1.0" encoding="utf-8"?>
<!-- local-mode:是否为本地开发模式。建议在开发环境以及生产环境都设置为false
     hdfs-machine:是否启用HDFS存储
     job-machine:是否为报告工作机(开启生成汇总报告和统计报告,只需要一台服务机开启此功能)
     alert-machine:是否为报警机(开启各类报警监听, 只需要一台服务机开启此功能)
-->
<configlocal-mode="false"hdfs-machine="false"job-machine="true"alert-machine="false">
    <!-- local-base-dir:本地数据存储目录, 建议不要修改
         local-report-storage-time:本地报告文件存放时长, 单位为(天)
         local-logivew-storage-time:本地日志文件存放时长, 单位为(天)
    -->
    <storagelocal-base-dir="/data/appdatas/cat/bucket/"local-report-storage-time="7"local-logivew-storage-time="7"/>
    <consoledefault-domain="Cat"show-cat-domain="true">
        <!-- 远程服务端HTTP服务列表, 用于同步更新 -->
        <remote-servers>10.10.10.121:8080</remote-servers>
    </console>
</config>

数据源 datasources.xml 的配置内容如下:

<?xml version="1.0" encoding="utf-8"?>
<data-sources>
    <data-sourceid="cat">
        <maximum-pool-size>8</maximum-pool-size>
        <connection-timeout>3s</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://10.10.10.121:3306/cat_schema]]></url>
            <!-- 用户名 -->
            <user>root</user>
            <!-- 密码 -->
            <password>123654</password>
            <connectionProperties><![CDATA[useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&socketTimeout=120000]]></connectionProperties>
        </properties>
    </data-source>
    <data-sourceid="app">
        <maximum-pool-size>8</maximum-pool-size>
        <connection-timeout>3s</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://10.10.10.121:3306/cat_schema]]></url>
            <!-- 用户名 -->
            <user>root</user>
            <!-- 密码 -->
            <password>123654</password>
            <connectionProperties><![CDATA[useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&socketTimeout=120000]]></connectionProperties>
        </properties>
    </data-source>
</data-sources>

创建 cat_schema 数据库:

CREATE DATABASE IF NOT EXISTS cat_schema DEFAULT CHARSET utf8 COLLATE utf8_general_ci

选择数据库 cat_schema

USE cat_schema

导入 Cat.sqlcat_schema 数据库:

SOURCE /home/fanlychie/cat-2.0.0/script/Cat.sql

编辑 tomcat 配置文件:

$ vim tomcat-7.0.90/conf/server.xml

找到 Connector 的配置行,添加 URIEncoding="utf-8" 。如下:

<Connectorport="8080"protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           URIEncoding="utf-8" />

2.2 启动 CAT

启动 tomcat

$ ./tomcat-7.0.90/bin/startup.sh

访问: http://10.10.10.121:8080/cat

搭建大众点评CAT监控平台

配置操作需要用户登入系统,每次的登录账户名和密码保持一致即可。如 catadmin/catadmin

2.3 客户端路由设置

依次打开 配置 --> 全局告警配置 --> 客户端路由 修改 idCAT 部署的服务器 ip

搭建大众点评CAT监控平台

3. 集群搭建

上面介绍的是 CAT 应用的单点模式部署。接下来介绍 CAT 的集群模式搭建方式。

3.1 部署概览

IP 角色
10.10.10.121 控制台、告警端、任务机
10.10.10.122 消费机
10.10.10.123 消费机
搭建大众点评CAT监控平台

10.10.10.121 作为前端控制台,如果使用了域名,只需将域名解析到此 IP 地址。

按以上搭建单点模式的方式,分别在 10.10.10.12110.10.10.12210.10.10.123 部署 CAT 。部署完成后,先不要启动 tomcat 。接下来做集群配置。

3.2 客户端client.xml配置

10.10.10.12110.10.10.12210.10.10.123client.xml 配置一样,具体如下:

<?xml version="1.0" encoding="utf-8"?>
<configmode="client"xmlns:xsi="http://www.w3.org/2001/XMLSchema"xsi:noNamespaceSchemaLocation="config.xsd">
    <servers>
        <!-- ip:部署CAT应用的服务器IP
             port:CAT服务端接收客户端数据的端口(不允许更改)
             http-port:CAT应用部署到的容器的端口(tomcat的端口)
        -->
        <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>

3.3 服务端server.xml配置

10.10.10.121server.xml 配置,具体如下:

<?xml version="1.0" encoding="utf-8"?>
<!-- local-mode:是否为本地开发模式。建议在开发环境以及生产环境都设置为false
     hdfs-machine:是否启用HDFS存储
     job-machine:是否为报告工作机(开启生成汇总报告和统计报告,只需要一台服务机开启此功能)
     alert-machine:是否为报警机(开启各类报警监听, 只需要一台服务机开启此功能)
-->
<configlocal-mode="false"hdfs-machine="false"job-machine="true"alert-machine="true">
    <!-- local-base-dir:本地数据存储目录, 建议不要修改
         local-report-storage-time:本地报告文件存放时长, 单位为(天)
         local-logivew-storage-time:本地日志文件存放时长, 单位为(天)
    -->
    <storagelocal-base-dir="/data/appdatas/cat/bucket/"local-report-storage-time="7"local-logivew-storage-time="7"/>
    <consoledefault-domain="Cat"show-cat-domain="true">
        <!-- 远程服务端HTTP服务列表, 用于同步更新 -->
        <remote-servers>10.10.10.121:8080,10.10.10.122:8080,10.10.10.123:8080</remote-servers>
    </console>
</config>

10.10.10.12210.10.10.123server.xml 配置一样,具体如下:

<?xml version="1.0" encoding="utf-8"?>
<!-- local-mode:是否为本地开发模式。建议在开发环境以及生产环境都设置为false
     hdfs-machine:是否启用HDFS存储
     job-machine:是否为报告工作机(开启生成汇总报告和统计报告,只需要一台服务机开启此功能)
     alert-machine:是否为报警机(开启各类报警监听, 只需要一台服务机开启此功能)
-->
<configlocal-mode="false"hdfs-machine="false"job-machine="false"alert-machine="false">
    <!-- local-base-dir:本地数据存储目录, 建议不要修改
         local-report-storage-time:本地报告文件存放时长, 单位为(天)
         local-logivew-storage-time:本地日志文件存放时长, 单位为(天)
    -->
    <storagelocal-base-dir="/data/appdatas/cat/bucket/"local-report-storage-time="7"local-logivew-storage-time="7"/>
    <consoledefault-domain="Cat"show-cat-domain="true">
        <!-- 远程服务端HTTP服务列表, 用于同步更新 -->
        <remote-servers>10.10.10.121:8080,10.10.10.122:8080,10.10.10.123:8080</remote-servers>
    </console>
</config>
搭建大众点评CAT监控平台

服务端 server.xml 的配置主要是 job-machinealert-machine 属性值配置的不同。

3.4 启动 CAT

分别启动 10.10.10.12110.10.10.12210.10.10.123tomcat

$ ./tomcat-7.0.90/bin/startup.sh

10.10.10.121 作为控制台服务,只需访问: http://10.10.10.121:8080/cat

搭建大众点评CAT监控平台

3.5 客户端路由设置

10.10.10.121 作为控制台服务,只需配置这台即可。

依次打开 配置 --> 全局告警配置 --> 客户端路由 修改 idCAT 部署的服务器 ip

搭建大众点评CAT监控平台

原文  http://fanlychie.github.io/post/cat-setup.html
正文到此结束
Loading...