搭建大众点评CAT监控平台
2018-10-11 来源:importnew
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
)。
标签: CentOS linux Mysql 服务器 权限 数据库 域名 域名解析
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。