CAT實時應(yīng)用監(jiān)控平臺
CAT 由大眾點評開發(fā)的,基于 Java 的實時應(yīng)用監(jiān)控平臺,包括實時應(yīng)用監(jiān)控,業(yè)務(wù)監(jiān)控。
CAT 支持的監(jiān)控消息類型包括:
-
Transaction 適合記錄跨越系統(tǒng)邊界的程序訪問行為,比如遠程調(diào)用,數(shù)據(jù)庫調(diào)用,也適合執(zhí)行時間較長的業(yè)務(wù)邏輯監(jiān)控,Transaction用來記錄一段代碼的執(zhí)行時間和次數(shù)。
-
Event 用來記錄一件事發(fā)生的次數(shù),比如記錄系統(tǒng)異常,它和transaction相比缺少了時間的統(tǒng)計,開銷比transaction要小。
-
Heartbeat 表示程序內(nèi)定期產(chǎn)生的統(tǒng)計信息, 如CPU%, MEM%, 連接池狀態(tài), 系統(tǒng)負載等。
-
Metric 用于記錄業(yè)務(wù)指標、指標可能包含對一個指標記錄次數(shù)、記錄平均值、記錄總和,業(yè)務(wù)指標最低統(tǒng)計粒度為1分鐘。
-
Trace 用于記錄基本的trace信息,類似于log4j的info信息,這些信息僅用于查看一些相關(guān)信息
消息樹
CAT監(jiān)控系統(tǒng)將每次URL、Service的請求內(nèi)部執(zhí)行情況都封裝為一個完整的消息樹、消息樹可能包括Transaction、Event、Heartbeat、Metric和Trace信息。
完整的消息樹
可視化消息樹
分布式消息樹【一臺機器調(diào)用另外一臺機器】
要求
-
Java 6
-
Maven 3
-
MySQL
快速上手
1、在CAT目錄下,用maven構(gòu)建項目
mvn clean install -DskipTests
2、配置CAT的環(huán)境
mvn cat:install
Note:
-
Linux\Mac 需要對/data/appdatas/cat和/data/applogs/cat有讀寫權(quán)限
-
Windows 則是對系統(tǒng)運行盤下的/data/appdatas/cat和/data/applogs/cat有讀寫權(quán)限
3、(Optional)如果安裝了hadoop集群,需到/data/appdatas/cat/server.xml中配置對應(yīng)hadoop信息。將localmode設(shè)置為false,默認情況下,CAT在開發(fā)模式(localmode=true)下工作。
4、運行CAT
cd cat-home;mvn jetty:run
然后打開瀏覽器,輸入http://localhost:2281/cat/。
或者在cat目錄下輸入 mvn eclipse:clean eclipse:eclipse 然后將項目導(dǎo)入到eclipse中,運行cat-home項目里得‘com.dianping.cat.TestServer’來啟動CAT。
介紹內(nèi)容來自:高可用架構(gòu)
