文档章节

搭建大众点评 CAT 监控平台

Pluto_Note
 Pluto_Note
发布于 10/12 14:05
字数 1867
阅读 4
收藏 12

搭建大众点评 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的源码包:

 

$ 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:

 

 

3. 集群搭建

 

上面介绍的是 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

 

$ ./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)。

 

看完帮忙点个赞,谢谢!

© 著作权归作者所有

共有 人打赏支持
Pluto_Note

Pluto_Note

粉丝 0
博文 12
码字总数 4461
作品 0
黄浦
程序员
CAT —— 来自大众点评的实时应用监控平台

CAT 由大众点评开发的,基于 Java 的实时应用监控平台,包括实时应用监控,业务监控。

oschina
2015/06/11
54
0
【推荐】大众点评Java开发实时应用监控平台-CAT

CAT介绍 CAT是基于Java开发的实时应用监控平台,包括实时应用监控,业务监控。 CAT作为大众点评网基础监控组件,它已经在中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等)中得到广泛...

java技术栈
2017/11/14
0
0
2016年2月5、6日:调研应用监控系统

这两天天气还不错,有风,空气好 (其实之前也一直写工作日志,只是多数和公司产品直接相关,就不便公开了) 这两天花了很多时间研究应用监控解决方案。这方面的例子有很多,Google 的 Dapp...

编走编想
2016/02/14
77
0
大众点评运维架构详大揭秘!

今天分享专题大纲如图所示,从5个方面跟大家一起探讨: 1、点评运维团队的配置 目前我们运维分为4个组,相信跟大部分公司一样,运维团队分为:应用运维、系统运维、运维开发和监控运维,当然还...

让往事随风
2016/05/09
105
0
【干货】大众点评运维架构的图文详解

分享内容 今天分享专题大纲如图所示,从5个方面跟大家一起探讨: 1、点评运维团队的配置 目前我们运维分为4个组,相信跟大部分公司一样,运维团队分为:应用运维、系统运维、运维开发和监控运...

运维技术
2015/11/25
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

Spark Load Data and Export Data

Load_Data_Command 一、导入数据-加载csv文件数据作为spark 临时表DataSource(不需要提前创建表,方便数据分析) 该命令将csv文件导入到临时表中,命令格式为 load data '文件路径' table [...

Avner
25分钟前
2
0
CDH5.13离线安装Spark2.3详细步骤

简介: 在我的CDH5.13集群中,默认安装的spark是1.6版本,这里需要将其升级为spark2.x版本。经查阅官方文档,发现spark1.6和2.x是可以并行安装的,也就是说可以不用删除默认的1.6版本,可以直...

hblt-j
28分钟前
2
0
Add XSS protection headers on Nginx

Add XSS protection headers on Nginx Add the following line in the http or server part of your Nginx configuration : ... # XSS Protection add_header X-Frame-Opt......

idoz
29分钟前
1
0
cmake windows 配置xp toolset

MPRO
35分钟前
2
0
day125-20181023-英语流利阅读-待学习

外卖员不要哭,打零工不容易 雪梨 2018-10-23 1.今日导读 上期我们讲到,有人认为:“零工经济”虽然没有占领全世界,但它剥夺了劳动者的合法权利,加剧了工作的不稳定性,那么“零工经济”是...

飞鱼说编程
47分钟前
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部