搭建大衆點評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監控平臺
將 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
搭建大衆點評CAT監控平臺
配置操作需要用戶登入系統,每次的登錄賬戶名和密碼保持一致即可。如 catadmin/catadmin。

2.3 客戶端路由設置
依次打開配置 --> 全局告警配置 --> 客戶端路由修改id爲CAT部署的服務器 IP:
搭建大衆點評CAT監控平臺

  1. 集羣搭建
    上面介紹的是 CAT 應用的單點模式部署。接下來介紹 CAT 的集羣模式搭建方式。

3.1 部署概覽
搭建大衆點評CAT監控平臺
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
搭建大衆點評CAT監控平臺
3.5 客戶端路由設置
10.10.10.121 作爲控制檯服務,只需配置這臺即可。

依次打開配置 --> 全局告警配置 --> 客戶端路由修改 id 爲 CAT 部署的服務器 IP:
搭建大衆點評CAT監控平臺

其中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)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章