面上有很多優秀的 os 級監控系統 (比如 falcon), 這些監控系統主要聚焦在 cpu/io/mem/disk 和應用埠, falcon 甚至可以監控到 jvm. 但對於應用系統內部的一些監控, 比如程式的 exception/介面效能/呼叫鏈, 這些系統級的監控系統就不太好用了.
大眾點評開源的 cat, 就是乙個為數不多的面向應用的監控系統, 而且應該最好的乙個.
********************==
cat 使用場景:
********************==
亮點:1. [event 類]: 使用 cat 收集程式丟擲的 exception. cat 有報錯**介面.
2. [transaction 類]: 效能監控, 跨越邊界的行為往往會引起效能問題.
3. [event 類]: 實時監某系統訪問頻率.
4. [transaction 類]: 分布式呼叫鏈監控, 這在微服務架構中尤其重要.
其他場景:
1. [heatbeat 類]: 監控業務系統自身的一些指標, 比如 cpu/io 等. 程式需要主動定期執行心跳匯報指令.
2. [metric 類]: 監控單位時間內的一些業務指標, 這些指標可以是累加計數類, 也可以是數值類. 對於累加計數類,
********************==
cat 內部機制:
********************==
1. 業務應用: 業務應用通過 cat 的客戶端進行埋點.
2. cat 客戶端 (cat-client): cat 客戶端負責將埋點訊息以佇列形式傳遞到 cat 消費機.
cat 客戶端和 cat 消費機之間是通過 tcp 長連線方式通訊的, 另外又是非同步的訊息佇列, 所以效能很好.
3. cat 消費機 (cat-consumer): cat 消費機不斷地從網路中取出訊息樹, 然後轉到服務端的消費佇列中.
4. 控制台 (cat-home): cat-home 負責 web ui 展現, 所有的 cat 節點都可作為控制台.
5. 告警端 (alarm-machine), 啟動告警執行緒, 進行規則匹配, 傳送告警資訊, cat 集群中只有乙個節點可以作為告警機.
6. 任務機 (job-machine), 做一些離線的任務,合併天、周、月等報表, cat 集群中只有乙個節點可以作為任務機.
7. cat 原始日誌轉儲 (cat-consumer 元件之一), cat 原始日誌轉儲可以認為是乙個特殊的報表分析器, 它不生成報表, 僅僅是將訊息儲存到本地檔案系統.
cat 所有伺服器元件, 包括 cat-consumer 和 cat-home , 都是執行在同乙個 jvm 內部的, 所以每個 cat 服務端既可以作為 consumer, 也可以作為 home, 另外乙個 cat 集群可以跨多個資料中心.
實時報表: cat 會生成每小時的報表, 對於當前小時, 是基於記憶體的, 所以 cat 能顯示實時報表, 即使是多台機器構成的 cat 集群, 在報表上呈現的也是所有機器彙總, 而不是單台機器的彙總. cat 會展現單位時間內指標的總和, 對於數值類 metric, cat 會自動計算平均值等統計指標.
訊息樹可以巢狀
參考********************==
點評cat編譯和基本使用
cat是乙個彙總格式化日誌的產品,他是大眾點評的開源專案。他的提供了自己的一套jar 包,提供了記錄日誌的 api,我們寫 的時候想對異常的處理整理記錄以及想記錄的 sql執行時間 乙個相關資料的統計等等,都可以依靠他的 api來做。注 以上的定義是我自己用過產品後,自己的認識 編譯必須用jdk6 ...
大眾點評開源監控CAT概覽
cat是乙個實時和接近全量的監控系統,它側重於對j a應用的監控,除了與點評rpc元件融合的很好之外,他將會能與spring mybatis dubbo 等框架以及log4j 等結合 它提供系統的效能指標 健康狀況 監控告警等,在微服務監控領域也是非常有用的一套元件。2.1.1 cat支援的監控訊息...
美團點評 Cat監控 執行緒池監控
如下 是我用來測試的乙個執行緒池工具類 public class threadpoolmanager private static threadpoolmanager sinstance public static threadpoolmanager getsinstance return sins...