美團點評CAT監控平台研究


1. 美團點評CAT監控平台研究

1.1. 前言

  • 此文根據我對官方文檔閱讀並記錄整理所得,中間可能會穿插一些自己的思考和遇坑

1.2. 簡介

  • CAT 是基於 Java 開發的實時應用監控平台,為美團點評提供了全面的實時監控告警服務
  • CAT 作為服務端項目基礎組件,為美團點評各業務線提供系統豐富的性能指標、健康狀況、實時告警
  • CAT 很大的優勢是它是一個實時系統,CAT 大部分系統是分鍾級統計,但是從數據生成到服務端處理結束是秒級別,秒級定義是48分鍾40秒,基本上看到48分鍾38秒數據,整體報表的統計粒度是分鍾級;第二個優勢,監控數據是全量統計,客戶端預計算;鏈路數據是采樣計算

1.3. 價值

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

1.4. 優勢

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

1.5. 模型設計

1.5.1. 監控模型

支持 Transaction、Event、Heartbeat、Metric 四種消息模型

  • Transaction 適合記錄跨越系統邊界的程序訪問行為,比如遠程調用,數據庫調用,也適合執行時間較長的業務邏輯監控,Transaction用來記錄一段代碼的執行時間和次數
  • Event 用來記錄一件事發生的次數,比如記錄系統異常,它和transaction相比缺少了時間的統計,開銷比transaction要小
  • Heartbeat 表示程序內定期產生的統計信息, 如CPU利用率, 內存利用率, 連接池狀態, 系統負載
  • Metric 用於記錄業務指標、指標可能包含對一個指標記錄次數、記錄平均值、記錄總和,業務指標最低統計粒度為1分鍾

1.5.2. 消息樹

  • CAT監控系統將每次URL、Service的請求內部執行情況都封裝為一個完整的消息樹、消息樹可能包括Transaction、Event、Heartbeat、Metric等信息

1.6. 模塊簡介

1.6.1. 功能模塊

  • cat-client: 客戶端,上報監控數據
  • cat-consumer: 服務端,收集監控數據進行統計分析,構建豐富的統計報表
  • cat-alarm: 實時告警,提供報表指標的監控告警
  • cat-hadoop: 數據存儲,logview 存儲至 Hdfs
  • cat-home: 管理端,報表展示、配置管理等

1.6.2. 其他模塊

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

1.7. 服務端部署

1.7.1. CAT安裝環境

  • 在寫到這部分的時候,我找到了前面我疑惑的一個點:cat-hadoop模塊是必須有的嗎?這里給出答案,Hadoop是可選項,一般規模較小公司可以直接使用磁盤模式,可以申請CAT服務端,500GB磁盤或者更大磁盤,這個磁盤掛載在/data/目錄上

1.7.2. 安裝CAT集群步驟概覽

  1. 初始化Mysql數據庫,一套CAT集群需要部署一個數據庫,數據庫腳本script/CatApplication.sql
  2. 初始化/data/目錄,配置幾個配置文件/data/appdatas/cat/*.xml 幾個配置文件,具體下面有詳細說明
  3. 打包並重命名為cat.war,放入tomcat容器webapps根目錄下,並啟動tomcat

1.7.3. 詳細步驟

  • 點擊這里
  • 這一步后就可以正常打開管理控制台了

1.8. 坑

  • 這里我遇到個坑點,本機部署時tomcat和/data目錄必須在一個盤,否則日志會報datasource不存在
  • 這里我還遇到了個maven相關的坑點,不能夠正常下載對應jar包,原因是maven中D:\Program Files\apache-maven-3.3.3\conf目錄下的settings.xml干擾,需要刪除或重命名它

今天就到這里,明天搞客戶端


免責聲明!

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



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