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的源码包:

$ 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"?>

<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.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"。如下:

<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 客户端路由设置

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

3. 集群搭建

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

3.1 部署概览

IP 角色
10.10.10.121 控制台、告警端、任务机
10.10.10.122 消费机
10.10.10.123 消费机

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"?>

<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.121server.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.12210.10.10.123server.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-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

3.5 客户端路由设置

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

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

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

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

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

来源:github----Hits

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

更多干货可关注公众号后获取

搭建大众点评CAT监控平台的更多相关文章

  1. 大众点评cat监控平台搭建

    参考官方文档:https://github.com/dianping/cat/wiki/readme_server 1.数据库相关 (1)创建数据库cat,并执行以下sql创建相关表: CREATE ...

  2. 美团点评CAT监控平台研究

    1. 美团点评CAT监控平台研究 1.1. 前言 此文根据我对官方文档阅读并记录整理所得,中间可能会穿插一些自己的思考和遇坑 1.2. 简介 CAT 是基于 Java 开发的实时应用监控平台,为美团点 ...

  3. cat监控平台环境搭建

    项目地址:https://github.com/dianping/cat 编译步骤: 这个项目比较另类,把编译需要的jar包,单独放在git分支mvn-repo里了,而且官方文档里给了一个错误的命令提 ...

  4. cat监控平台环境搭建 专题

    项目地址:https://github.com/dianping/cat 编译步骤: 这个项目比较另类,把编译需要的jar包,单独放在git分支mvn-repo里了,而且官方文档里给了一个错误的命令提 ...

  5. 大众点评实时监控系统CAT的那些坑

    首先,感谢大众点评开源监控系统CAT.CAT是一款非常使用的功能建全的监控系统.作为一个知名的开源软件,真的是太差了. 想把CAT用起来,没有多年的Java经验是不行的.先吐槽一下,再写一篇如何用的文 ...

  6. Centos 7部署大众点评CAT(一)——单服务器部署

    前一篇拙作上传的时间已经过去2个月了,中间并不是闲着...主要是忙着学习各种组件的安装,写了几篇安装心得存在硬盘里. 最近尝试了点评开源的CAT监控平台的安装,并且希望能够引入到工作中.在部署实践的过 ...

  7. 大众点评CAT开源监控系统剖析

    参考文档: 大众点评的实时监控系统分析(一) CAT_source_analyze 透过CAT,来看分布式实时监控系统的设计与实现 深度剖析开源分布式监控CAT [分布式监控CAT] Client端源 ...

  8. 【转】大众点评CAT开源监控系统剖析

    https://www.cnblogs.com/yeahwell/p/cat.html 参考文档: 大众点评的实时监控系统分析(一) CAT_source_analyze 透过CAT,来看分布式实时监 ...

  9. 大众点评cat实时监控简介及部署

    简介 背景 CAT(Central Application Tracking)是由吴其敏(前大众点评首席架构师,现携程架构负责人)主导设计基于Java开发打造的实时应用监控平台,为大众点评网提供了全面 ...

随机推荐

  1. RTT设备与驱动之硬件定时器

    硬件定时器可以对外部时钟进行计数,利用内部时钟进行定时. 函数 描述 rt_device_t rt_device_find(const char* name); 查找定时器设备 rt_err_t rt ...

  2. (转)stty 命令说明及使用讲解

    stty 命令说明及使用讲解     UNIX系统的命令很多,但是巧妙使用命令的方法更多.随着经验的积累和观察学习其他用户的实践,我们也可学会解决特殊问题的方法.这里谈谈自己使用UNIX系统中stty ...

  3. 3n+1猜想

    1001. 害死人不偿命的(3n+1)猜想 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 卡拉兹(Ca ...

  4. RMAN参数详解

    在Oracle 10g中的配置情况使用RMAN>show all;可以显示出RMAN 配置参数为: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # d ...

  5. pat1031. Hello World for U (20)

    1031. Hello World for U (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Giv ...

  6. PHP substr()函数

    PHP substr()函数可以分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mb_substr()/mb_strcut这个函数,mb_substr() /mb_strcut的用法 ...

  7. jQuery的表单验证

    jQuery的表单验证 直接上代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  8. python模块详解 re

    摘自:python中的正则表达式(re模块) 一.简介 正则表达式本身是一种小型的.高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配.正则表达式模式被 ...

  9. 《深入理解Java7核心技术与最佳实践》读书笔记(1.1)---Project Coin介绍

    OpenJDK中的Coin项目(Project Coin)的目的就是为了收集对Java语言的语法进行增强的建议.在Coin项目开始之初,曾经广泛地向社区征求提议.在短短的一个月时间内就收到将近70条提 ...

  10. sharepoint知识点总结

    { users.Add(value.User); } else { SPGroup group = web.Groups.GetByID(value.LookupId); groups.Add(gro ...