點評cat系列-簡介


面上有很多優秀的 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 提供發送 alert 功能, 我們可以將報警以郵件/微信形式發送出去.

 

 

 

======================
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 會自動計算平均值等統計指標.

 

c

 

 

 

消息樹可以嵌套

 

======================
Message-ID 格式
======================
Message-ID 格式: applicationName-ip-time-seq
第一段:是應用名 applicationName, 所以 applicationName 取名不要太長, 以減少網絡開銷.
第二段:是當前這台機器的 IP 的 16 進制格式.
第三段:是系統當前時間除以小時得到的整點數.
第四段:是表示當前這個客戶端在當前小時的順序遞增號 (AtomicInteger 自增,每小時結束后重置).

 

 

======================
參考
======================

深入詳解美團點評CAT跨語言服務監控(一) CAT簡介與部署
https://blog.csdn.net/caohao0591/article/details/80693289
官網:
http://unidal.org/ http://cat.meituan.com/
發布歷史
http://unidal.org/cat/r/home?op=view&docName=release
源碼和文檔
https://github.com/dianping/cat
透過 CAT,來看分布式實時監控系統的設計與實現
http://www.chanpin100.com/article/45629
深度剖析開源分布式監控 CAT
https://tech.meituan.com/CAT_in_Depth_Java_Application_Monitoring.html
大眾點評CAT開源監控系統剖析
https://www.cnblogs.com/yeahwell/p/cat.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM