全鏈路監控

      全鏈路監控是廣義的概念,不單單指APM(Appliation Perfance  Manager&Monitor),包含三大部分:數據庫

Loggong:日誌覆蓋系統日誌,業務日誌,框架日誌. 常規方案ELK  elastic, logstash,kibana服務器

Mertic(指標或者度量):覆蓋系統指標,業務指標,中間件指標。框架

       Metrics監控主要依賴於時間序列數據庫(TSDB),目前比較成熟的有OpenTSDB,具備分佈式的能力能夠橫向擴展,可是相對較重,適用於大中規模企業。也是一個選擇。近年也出現一些輕量級的TSDB,好比InfluxDB和Prometheus,這些產品函數報表豐富,自帶告警模塊,可是分佈式能力不足。Grafana是Metrics報表展現的社區標配。機器學習

Trancing(追蹤):覆蓋微服務,存儲,中間件。經常使用的APM框架,好比Skywalking,CAT,ZipKin等這些。分佈式

這三者結合起來構成完整的全鏈路監控體系。是梳理業務,排查問題的基石。函數

測試環境部署硬件最低要求(全部組件都是單臺機器便可)微服務

組件學習

做用測試

CPU代理

內存

磁盤類型

磁盤大小

ElasticSearch集羣1 統一存儲日誌 4核 32GB SSD最好 500GB
Kibana 查看日誌的平臺 2核 4GB 普通磁盤 500GB
Logstash 日誌處理中間件 4核 16GB 普通磁盤 500GB
ElasticSearch集羣2 Skywalking Trace數據收集 4核 32GB SSD最好 500GB
Skywalking Skywalking服務端 & 管理臺 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線(藍色)- 系統監控:(*不知道如今是否是這樣,或者如今是用Zabbix的?)
    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. 由Skywalking Agent收集全鏈路監控信息(服務調用+HTTP調用+數據源訪問+MQ鏈路)
    2. 由Skywalking Collector收集處理數據
    3. 送入ElasticSearch集羣保存監控數據
    4. 經過Skywalking UI管理臺查看全鏈路監控
相關文章
相關標籤/搜索