1. 程式人生 > >全鏈路監控

全鏈路監控

 全鏈路監控是廣義的概念,不僅僅指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

 

監控詳情討論,監控覆蓋的幾個方面。

  1. Metrics線  -  業務監控:
    1. 使用Spring Boot Actuator標準提供各種打點和應用程式健康資訊的HTTP端點
    2. 由普羅米修斯伺服器定時拉取資訊
    3. 送入時間序列資料庫Influxdb(Counter + Tags)
    4. 通過在Grafana配置監控Dashboard面板,實時監控程式的業務曲線(可以配置各種條件)
  2. Metrics線  - 系統監控:
    1. 使用普羅米修斯的Exporter來暴露各種系統指標和中介軟體的資料指標
    2. 由普羅米修斯伺服器定時拉取資訊
    3. 通過在Grafana配置監控Dashboard面板,實時進行系統監控
  3. 日誌線(紅色)- 程式日誌儲存:
    1. 由框架提供統一的日誌服務行程標準化的日誌(含全鏈路監控的Trace&Span&Tags)
    2. 由Filebeat代理收集伺服器的日誌送入Kafka訊息佇列進行緩衝
    3. 送入Logstash進行日誌解析處理(郵件+IM報警?)
    4. 送入ElasticSearch叢集儲存日誌資料
    5. 通過Kibana連線ElasticSearch進行應用程式日誌搜尋(允許直接搜尋Trace)
  4. 日誌線- 程式日誌計算:
    1. 由框架提供統一的日誌服務行程標準化的日誌
    2. 由Filebeat代理收集伺服器的日誌送入Kafka訊息佇列進行緩衝
    3. 送入Flink進行實時計算
    4. 隨後可以把日誌送入資料倉庫儲存或把計算結果送入MySQL等
    5. 通過資料倉庫等進行後續離線資料分析(機器學習etc.)
  5. 全鏈路監控線:
    1. 由zipkin Agent收集全鏈路監控資訊(服務呼叫+HTTP呼叫+資料來源訪問+MQ鏈路)
    2. 由zipkinCollector收集處理資料
    3. 送入ElasticSearch叢集儲存監控資料
    4. 通過zipkinUI管理臺檢視全鏈路監控