大衆美團服務鏈監控CAT

github連接:https://github.com/dianping/catjava

CAT 做爲服務端項目基礎組件,提供了 Java, C/C++, Node.js, Python, Go 等多語言客戶端,已經在美團點評的基礎架構中間件框架(MVC框架,RPC框架,數據庫框架,緩存框架等,消息隊列,配置系統等)深度集成,爲美團點評各業務線提供系統豐富的性能指標、健康情況、實時告警等。node

CAT 簡介

  • CAT 是基於 Java 開發的實時應用監控平臺,爲美團點評提供了全面的實時監控告警服務。
  • CAT 做爲服務端項目基礎組件,提供了 Java, C/C++, Node.js, Python, Go 等多語言客戶端,已經在美團點評的基礎架構中間件框架(MVC框架,RPC框架,數據庫框架,緩存框架等,消息隊列,配置系統等)深度集成,爲美團點評各業務線提供系統豐富的性能指標、健康情況、實時告警等。
  • CAT 很大的優點是它是一個實時系統,CAT 大部分系統是分鐘級統計,可是從數據生成到服務端處理結束是秒級別,秒級定義是48分鐘40秒,基本上看到48分鐘38秒數據,總體報表的統計粒度是分鐘級;第二個優點,監控數據是全量統計,客戶端預計算;鏈路數據是採樣計算。

Cat 產品價值

  • 減小故障發現時間
  • 下降故障定位成本
  • 輔助應用程序優化

Cat 優點

  • 實時處理:信息的價值會隨時間銳減,尤爲是事故處理過程當中
  • 全量數據:全量採集指標數據,便於深度分析故障案例
  • 高可用:故障的還原與問題定位,須要高可用監控來支撐
  • 故障容忍:故障不影響業務正常運轉、對業務透明
  • 高吞吐:海量監控數據的收集,須要高吞吐能力作保證
  • 可擴展:支持分佈式、跨 IDC 部署,橫向擴展的監控系統

更新日誌

  • 最新版本特性一覽python

    • 注意cat的3.0代碼分支更新都發布在master上,包括最新文檔也都是這個分支git

    • 注意文檔請用最新master裏面的代碼文檔做爲標準,一些開源網站上面一些老版本的一些配置包括數據庫等可能遇到不兼容狀況,請以master代碼爲準,這份文檔都是美團點評內部同窗爲這個版本統一整理彙總。內部同窗已經覈對,包括也驗證過,若是遇到一些看不懂,或者模糊的地方,歡迎提交PR。github

    • 多語言客戶端:Java、C/C++、Node.js、Python、Go 傳送門web

    • 消息採樣聚合數據庫

    • 序列化協議升級緩存

    • 全新文件存儲引擎架構

監控模型:

支持 Transaction、Event、Heartbeat、Metric 四種消息模型。 模型設計app

模塊簡介

功能模塊

  • cat-client: 客戶端,上報監控數據
  • cat-consumer: 服務端,收集監控數據進行統計分析,構建豐富的統計報表
  • cat-alarm: 實時告警,提供報表指標的監控告警
  • cat-hadoop: 數據存儲,logview 存儲至 Hdfs
  • cat-home: 管理端,報表展現、配置管理等
  1. 根目錄下 cat-client 模塊之後再也不維護,下個大版本更新計劃移除。新版Java客戶端參考:lib/java
  2. 管理端、服務端、告警服務均使用 cat-home 模塊部署便可

其餘模塊

  • cat-doc:服務端報表使用文檔
  • integration:cat和一些第三方工具集成的內容(此部分一部分是由社區貢獻,一部分官方貢獻)
  • lib:CAT 的客戶端,包括 Java、C/C++、Python、Node.js、Go
  • script:CAT 數據庫腳本

Quick Start

服務端

項目設計

Copyright and License

Apache 2.0 License.

CAT 接入公司

Alt text

更多接入公司,歡迎在 https://github.com/dianping/cat/issues/753 登記

相關文章
相關標籤/搜索