搭建大众点评CAT监控平台

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

1. 环境清单

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

2. 安装 CAT

下载CAT安装包:mysql

# 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:git

$ 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路径有读写权限。github

# mkdir -p /data/appdatas/cat && mkdir -p /data/applogs/cat

CAT服务端应用会对这两个目录进行读写操做,所以须要首先建立这两个目录。而且应确保启动CAT应用的用户对这两个目录有读写权限。web

下载CAT的源码包:sql

$ 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客户端和服务端安装所需的一些配置文件:
搭建大众点评CAT监控平台vim

将cat-2.0.0/script目录中的client.xml、datasources.xml、server.xml配置文件复制到目录/data/appdatas/cat中:tomcat

$ cp client.xml server.xml datasources.xml /data/appdatas/cat/

客户端client.xml的配置内容以下:

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

<config mode="client" xmlns:xsi="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="config.xsd">

<servers>

<!-- ip:部署CAT应用的服务器IP
port:CAT服务端接收客户端数据的端口(不容许更改)
http-port:CAT应用部署到的容器的端口(tomcat的端口)
-->

<server ip="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:是否为报警机(开启各种报警监听, 只须要一台服务机开启此功能)
-->

<config local-mode="false" hdfs-machine="false" job-machine="true" alert-machine="false">

<!-- local-base-dir:本地数据存储目录, 建议不要修改
local-report-storage-time:本地报告文件存放时长, 单位为(天)
local-logivew-storage-time:本地日志文件存放时长, 单位为(天)
-->

<storage local-base-dir="/data/appdatas/cat/bucket/" local-report-storage-time="7" local-logivew-storage-time="7"/>

<console default-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-source id="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-source id="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.sql到cat_schema数据库:

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

编辑tomcat配置文件:

$ vim tomcat-7.0.90/conf/server.xml

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

<Connector port="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

配置操做须要用户登入系统,每次的登陆帐户名和密码保持一致便可。如catadmin/catadmin。

2.3 客户端路由设置
依次打开配置 --> 全局告警配置 --> 客户端路由修改id为CAT部署的服务器ip:

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

3.1 部署概览
搭建大众点评CAT监控平台

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

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

3.2 客户端client.xml配置
10.10.10.12一、10.10.10.12二、10.10.10.123的client.xml配置同样,具体以下:

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

<config mode="client" xmlns:xsi="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="config.xsd">

<servers>

<!-- ip:部署CAT应用的服务器IP
port:CAT服务端接收客户端数据的端口(不容许更改)
http-port:CAT应用部署到的容器的端口(tomcat的端口)
-->

<server ip="10.10.10.121" port="2280" http-port="8080" />

<server ip="10.10.10.122" port="2280" http-port="8080" />

<server ip="10.10.10.123" port="2280" http-port="8080" />

</servers>

</config>

3.3 服务端server.xml配置
10.10.10.121的server.xml配置,具体以下:

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

<!-- local-mode:是否为本地开发模式。建议在开发环境以及生产环境都设置为false
hdfs-machine:是否启用HDFS存储
job-machine:是否为报告工做机(开启生成汇总报告和统计报告,只须要一台服务机开启此功能)
alert-machine:是否为报警机(开启各种报警监听, 只须要一台服务机开启此功能)
-->

<config local-mode="false" hdfs-machine="false" job-machine="true" alert-machine="true">

<!-- local-base-dir:本地数据存储目录, 建议不要修改
local-report-storage-time:本地报告文件存放时长, 单位为(天)
local-logivew-storage-time:本地日志文件存放时长, 单位为(天)
-->

<storage local-base-dir="/data/appdatas/cat/bucket/" local-report-storage-time="7" local-logivew-storage-time="7"/>

<console default-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.12二、10.10.10.123的server.xml配置同样,具体以下:

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

<!-- local-mode:是否为本地开发模式。建议在开发环境以及生产环境都设置为false
hdfs-machine:是否启用HDFS存储
job-machine:是否为报告工做机(开启生成汇总报告和统计报告,只须要一台服务机开启此功能)
alert-machine:是否为报警机(开启各种报警监听, 只须要一台服务机开启此功能)
-->

<config local-mode="false" hdfs-machine="false" job-machine="false" alert-machine="false">

<!-- local-base-dir:本地数据存储目录, 建议不要修改
local-report-storage-time:本地报告文件存放时长, 单位为(天)
local-logivew-storage-time:本地日志文件存放时长, 单位为(天)
-->

<storage local-base-dir="/data/appdatas/cat/bucket/" local-report-storage-time="7" local-logivew-storage-time="7"/>

<console default-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>

服务端server.xml的配置主要是job-machine和alert-machine属性值配置的不一样。

3.4 启动 CAT
分别启动10.10.10.12一、10.10.10.12二、10.10.10.123的tomcat:

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

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

3.5 客户端路由设置
10.10.10.121做为控制台服务,只需配置这台便可。

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

其中10.10.10.121做为备份,正常状况下不做为消费机(即不起消费数据的做用),仅当CAT集群中的其它节点(如这里的10.10.10.12二、10.10.10.123节点)都挂掉以后才会对数据进行消费。

该配置会自动同步到CAT集群中的其它节点(如这里的10.10.10.12二、10.10.10.123节点)。

配置完成后,重启10.10.10.121服务器的CAT应用容器(即重启tomcat)。

来源:github----Hits

连接:https://fanlychie.github.io/post/cat-setup.html

相关文章
相关标签/搜索