CAT是 點(diǎn)評(píng)開源的綜合性的監(jiān)控平臺(tái)藤为,要包括移動(dòng)端監(jiān)控,應(yīng)用側(cè)監(jiān)控哆料,核心網(wǎng)絡(luò)層監(jiān)控炬称,系統(tǒng)層監(jiān)控等。并能提供實(shí)時(shí)監(jiān)控報(bào)警,應(yīng)用性能分析診斷的工具。
目前最新版本是18年10月剛升級(jí)的2.0版本,從網(wǎng)上搜羅的資料文檔都比較模糊效五,包括官方文檔也沒有實(shí)時(shí)更新,給搭建平臺(tái)造成了不必要的麻煩炉峰。因此根據(jù)自己的摸索實(shí)踐畏妖,將平臺(tái)搭建的每一步都截圖細(xì)化下來,保證搭建順利疼阔。
本次搭建在windows環(huán)境下瓜客,具體環(huán)境如下:
java version "1.8.0_31"
Apache Maven 3.5.4
apache-tomcat-8.0.9
Mysql 5.7+
IDEA 2018
操作步驟如下:
1. 源代碼下載
登陸碼云或者github把CAT代碼down到本地,碼云下載地址:https://gitee.com/mirrors/CAT/tags竿开,本次下載選用紅色框標(biāo)記的部分
2. 代碼導(dǎo)入idea
導(dǎo)入后maven會(huì)自動(dòng)下載相關(guān)依賴谱仪,導(dǎo)入后效果如下:
3. 初始化數(shù)據(jù)庫(kù)并修改配置文件
- CAT數(shù)據(jù)存儲(chǔ)于MySQL數(shù)據(jù)庫(kù)script文件夾下面的Cat.sql 導(dǎo)入Mysql 數(shù)據(jù)庫(kù),版本要求5.7+
-
修改datasources.xml配置文件否彩,將數(shù)據(jù)庫(kù)鏈接替換成自己的數(shù)據(jù)庫(kù)配置
圖片.png
4. 源代碼編譯
點(diǎn)擊如下圖所示按鈕疯攒,并輸入命令
clean install -Dmaven.test.skip=true
編譯打成war包
5. war包部署
將編譯后的war包部署到tomcat 下,注意:暫不啟動(dòng)
6. 本地配置文件創(chuàng)建
在項(xiàng)目部署所在目錄的根目錄創(chuàng)建/data/appdatas/cat文件夾,例如我項(xiàng)目部署在C:\tools\apache-tomcat-8.0.9列荔,那么創(chuàng)建好的目錄結(jié)構(gòu)就應(yīng)該是:C:\data\appdatas\cat
并將script文件夾中的3個(gè)xml配置文件復(fù)制粘貼到剛創(chuàng)建好的目錄下
7. 啟動(dòng)tomcat并測(cè)試
若顯示如下畫面敬尺,表示服務(wù)端配置成功
下面是CAT 客戶端集成步驟:
本次集成工程為spring boot2 工程枚尼,集成步驟如下:
- 集成POM文件
在pom.xml中引入CAT 客戶端包
<dependency> <groupId>com.dianping.cat</groupId> <artifactId>cat-client</artifactId> <version>2.0.0</version> </dependency>
若maven編譯不通過,找不到該包砂吞,則需要手動(dòng)安裝到本地署恍,手動(dòng)安裝步驟為
1.去idea 圖片目錄找到cat-client-2.0.0.jar ,并復(fù)制到本地目錄
圖片.png
2.進(jìn)入到j(luò)ar包復(fù)制目錄的文件夾下面蜻直,并執(zhí)行
mvn install:install-file -DgroupId=com.dianping.cat -DartifactId=cat-client -Dversion=2.0.0 -Dpackaging=jar -Dfile=cat-client-2.0.0.jar
- 官方文檔中只體現(xiàn)了集成spring mvc 客戶端的方式盯质,現(xiàn)修改為spring boot 2的方式,方式如下:添加過濾器
/**
* Cat 過濾器初始化
*/
public class CatFilterConfigure{
@Bean
public FilterRegistrationBean catFilter() {
FilterRegistrationBean registration = new FilterRegistrationBean();
CatFilter filter = new CatFilter();
registration.setFilter(filter);
registration.addUrlPatterns("/*");
registration.setName("cat-filter");
registration.setDispatcherTypes(DispatcherType.REQUEST,DispatcherType.FORWARD);
registration.setOrder(1);
return registration;
}
}
- 添加客戶端配置類概而,代碼如下:
/**
* Cat客戶端配置
*/
public class CatClientConfigProvider implements ClientConfigProvider {
@Override
public ClientConfig getClientConfig() {
ClientConfig config = new ClientConfig();
config.addServer(new Server("127.0.0.1"));
config.addDomain(new Domain("Tunny"));
return config;
}
}
-
添加resourece 目錄配置文件呼巷,目錄結(jié)構(gòu)及配置如下:
圖片.png -
編寫客戶端埋點(diǎn)代碼,注釋寫的比較詳細(xì)赎瑰,代碼結(jié)構(gòu)如下:
圖片.png 啟動(dòng)客戶端服務(wù)王悍,并調(diào)用埋點(diǎn)所在Controller接口
-
埋點(diǎn)效果測(cè)試,登陸cat服務(wù)端
效果如下餐曼,表示客戶端與服務(wù)端通信正常
圖片.png