搭建大众点评CAT监控平台

AT(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:

$ m2.1 配置 CAT
在Linux系统安装时,CAT应用要求对/data/appdatas/cat和/data/applogs/cat路径有读写权限。
# mkdir -p /data/appdatas/cat && mkdir -p /data/applogs/cat
CAT服务端应用会对这两个目录进行读写操作,因此需要首先创建这两个目录。并且应确保启动CAT应用的用户对这两个目录有读写权限。v cat-home-2.0.0.war tomcat-7.0.90/webapps/cat.war
下载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客户端和服务端安装所需的一些配置文件:

将 cat-2.0.0/script 目录中的 client.xml、datasources.xml、server.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.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 部署概览

10.10.10.121 作为前端控制台,如果使用了域名,只需将域名解析到此IP地址。
按以上搭建单点模式的方式,分别在 10.10.10.121、10.10.10.122、10.10.10.123 部署 CAT。部署完成后,先不要启动 Tomcat。接下来做集群配置。

3.2 客户端client.xml配置
10.10.10.121、10.10.10.122、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.122、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.121、10.10.10.122、10.10.10.123 的 Tomcat

1
$ ./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.122、10.10.10.123 节点)都挂掉之后才会对数据进行消费。

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

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

原文地址:http://blog.51cto.com/13952955/2300224

时间: 2024-11-01 04:54:38

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

springmvc+dubbo+mybatis 接入大众点评 CAT 监控平台

CAT(Central Application Tracking)是基于Java开发的实时应用监控平台,包括实时应用监控,业务监控.关于CAT的具体介绍可移步到CAT官网进行查阅. CAT平台的搭建可移步到「搭建大众点评CAT监控平台」. 1. 开发环境 Windows Java 8 Maven 3.5 MySQL 5.7 CAT 2.0.0 Dubbo 2.6 Spring 4.3 2. 客户端配置 客户端应用程序接入CAT需要在系统的特定路径中部署client.xml配置文件.Windows

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

首先,感谢大众点评开源监控系统CAT.CAT是一款非常使用的功能建全的监控系统.作为一个知名的开源软件,真的是太差了. 想把CAT用起来,没有多年的Java经验是不行的.先吐槽一下,再写一篇如何用的文章. 从 https://github.com/dianping/cat 开始,就会碰到种种"坑". 第一坑,https://github.com/dianping/cat 上显示持续集成是失败的.(因为build的使用要用aliyun 的 maven 源才行.) 尝试用master编译成

cat监控平台环境搭建

项目地址:https://github.com/dianping/cat 编译步骤: 这个项目比较另类,把编译需要的jar包,单独放在git分支mvn-repo里了,而且官方文档里给了一个错误的命令提示: git [email protected]:dianping/cat.git mvn-repo 当你直接把这条命令贴到terminal里执行时,会提示命令无效,正确的姿势如下: 1.先安装jdk 1.7 这点很重要,cat项目的开发时间比较早,当时估计jdk8还没有,在1.8下编译虽然能成功,

Centos6.5部署大众点评CAT

CAT (Central Application Tracking) 简介: CAT 是大众点评开源的一套基于java的实时应用监控平台,主要应用于服务中间件框架(MVC 框架.RPC 框架.持久层框架.分布式缓存框架)的监控,为开发和运维提供各项性能指标.健康检查.自动报警等可视化服务. 最近在公司部署大众点评的CAT,中间遇到点问题,下面是我的部署过程: 系统和软件: cat下载地址:https://github.com/dianping/cat Centos6.5 apache-maven

CentOS 7 使用ELK套件搭建日志分析和监控平台

1 概述 ELK套件(ELK stack)是指ElasticSearch.Logstash和Kibana三件套.这三个软件可以组成一套日志分析和监控工具. 由于三个软件各自的版本号太多,建议采用ElasticSearch官网推荐的搭配组合:http://www.elasticsearch.org/overview/elkdownloads/ 2 环境准备 2.1 软件要求 本文把ELK套件部署在一台CentOS单机上. 具体的版本要求如下: 操作系统版本:CentOS 6.4: JDK版本:1.

部署点评Cat监控项目

在项目中监控代码运行的状况,可以采用点评的Cat项目来监控整个项目,但是按照官方的文档来部署cat,总会遇到各种问题,讲解的也不够简明清楚,现在用一个单机来部署运行cat监控项目. 首先,到项目的Git网页下载整个项目: https://github.com/dianping/cat 接着就是进入这个项目的目录,运行打包安装命令: mvn clean install -DskipTests  (需要maven) 执行完成后,运行 CAT 安装插件命令: mvn cat:install 会提示输入

CentOS下使用ELK套件搭建日志分析和监控平台

1 概述 ELK套件(ELK stack)是指ElasticSearch.Logstash和Kibana三件套.这三个软件可以组成一套日志分析和监控工具. 由于三个软件各自的版本号太多,建议采用ElasticSearch官网推荐的搭配组合:http://www.elasticsearch.org/overview/elkdownloads/ 2 环境准备 2.1 软件要求 具体的版本要求如下: 操作系统版本:CentOS 6.4: JDK版本:1.7.0: Logstash版本:1.4.2: E

部署点评Cat监控项目(转)

原文地址: 在项目中监控代码运行的状况,可以采用点评的Cat项目来监控整个项目,但是按照官方的文档来部署cat,总会遇到各种问题,讲解的也不够简明清楚,现在用一个单机来部署运行cat监控项目. 首先,到项目的git网页下载整个项目: https://github.com/dianping/cat 接着就是进入这个项目的目录,运行打包安装命令: mvn clean install -DskipTests  (需要maven) 执行完成后,运行 CAT 安装插件命令: mvn cat:install

大众点评开源监控CAT概览

1. CAT介绍 CAT是一个实时和接近全量的监控系统,它侧重于对Java应用的监控,除了与点评RPC组件融合的很好之外,他将会能与Spring.MyBatis.Dubbo 等框架以及Log4j 等结合 , 它提供系统的性能指标.健康状况.监控告警等,在微服务监控领域也是非常有用的一套组件. 1.1 CAT特性 实时处理:信息的价值会随时间锐减,尤其是事故处理过程中. 全量数据:最开始的设计目标就是全量采集,全量的好处有很多. 故障容忍:CAT本身故障不应该影响业务正常运转,CAT挂了,应用不该