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