全鏈路監控
阿新 • • 發佈:2019-06-01
全鏈路監控是廣義的概念,不僅僅指APM(Appliation Perfance Manager&Monitor),包含三大部分:
Loggong:日誌覆蓋系統日誌,業務日誌,框架日誌
Mertic(指標或者度量):覆蓋系統指標,業務指標,中介軟體指標
Trancing(追蹤):覆蓋微服務,儲存,中介軟體
這三者結合起來構成完整的全鏈路監控體系。是梳理業務,排查問題的基石。
測試環境部署硬體最低要求(所有元件都是單臺機器即可):
元件 |
作用 |
CPU |
記憶體 |
磁碟型別 |
磁碟大小 |
---|---|---|---|---|---|
ElasticSearch叢集1 | 統一儲存日誌 | 4核 | 32GB | SSD最好 | 500GB |
Kibana | 檢視日誌的平臺 | 2核 | 4GB | 普通磁碟 | 500GB |
Logstash | 日誌處理中介軟體 | 4核 | 16GB | 普通磁碟 | 500GB |
ElasticSearch叢集2 | zipkinTrace資料收集 | 4核 | 32GB | SSD最好 | 500GB |
Skywalking,zipkin,pinpoint | zipkin服務端 & 管理臺 | 4核 | 16GB | 普通磁碟 | 500GB |
InfluxDb | 儲存指標的時間序列資料庫 | 4核 | 16GB | SSD最好 | 500GB |
Grafana | 檢視指標的平臺 | 2核 | 4GB | 普通磁碟 | 500GB |
監控詳情討論,監控覆蓋的幾個方面。
- Metrics線 - 業務監控:
- 使用Spring Boot Actuator標準提供各種打點和應用程式健康資訊的HTTP端點
- 由普羅米修斯伺服器定時拉取資訊
- 送入時間序列資料庫Influxdb(Counter + Tags)
- 通過在Grafana配置監控Dashboard面板,實時監控程式的業務曲線(可以配置各種條件)
- Metrics線 - 系統監控:
- 使用普羅米修斯的Exporter來暴露各種系統指標和中介軟體的資料指標
- 由普羅米修斯伺服器定時拉取資訊
- 通過在Grafana配置監控Dashboard面板,實時進行系統監控
- 日誌線(紅色)- 程式日誌儲存:
- 由框架提供統一的日誌服務行程標準化的日誌(含全鏈路監控的Trace&Span&Tags)
- 由Filebeat代理收集伺服器的日誌送入Kafka訊息佇列進行緩衝
- 送入Logstash進行日誌解析處理(郵件+IM報警?)
- 送入ElasticSearch叢集儲存日誌資料
- 通過Kibana連線ElasticSearch進行應用程式日誌搜尋(允許直接搜尋Trace)
- 日誌線- 程式日誌計算:
- 由框架提供統一的日誌服務行程標準化的日誌
- 由Filebeat代理收集伺服器的日誌送入Kafka訊息佇列進行緩衝
- 送入Flink進行實時計算
- 隨後可以把日誌送入資料倉庫儲存或把計算結果送入MySQL等
- 通過資料倉庫等進行後續離線資料分析(機器學習etc.)
- 全鏈路監控線:
- 由zipkin Agent收集全鏈路監控資訊(服務呼叫+HTTP呼叫+資料來源訪問+MQ鏈路)
- 由zipkinCollector收集處理資料
- 送入ElasticSearch叢集儲存監控資料
- 通過zipkinUI管理臺檢視全鏈路監控