基於k8s的promethus監控


沒有監控 就沒有眼睛。 除了k8s的基本監控外(pod運行狀況、占用內存、cpu)。為了對微服務項目中的(1)各種參數線程池、QPS、RT、業務指標(2)系統負載、thread、mem、class、tomcat、gc、等jvm指標進行監控

采用 promethus 對spring boot業務埋點進行監控。 因為k8s對promethus很好的支持。同時spring boot 集成client很方便。對spring boot actuator 的metrics指標有很好的集成

所以采用了基於 k8s的 promethus job 對業務指標采取拉模式收集。 同時由於 promethus 支持 grafana前端UI界面。 所以整個架構簡單采用

   

 

  這里采用了pull模式。對application性能有一定影響。如果對定時任務短時間指標(promethues來不及拉取) 或者性能比較高 采用 push模式

1、spring boot 集成 promethus 可參考 https://cloud.tencent.com/developer/article/1096692  具體使用不詳細介紹

      主要是 promethus四種類型的使用  https://prometheus.io/docs/concepts/metric_types/

  •  counter   只增不減的計數器 適合:qps 等統計
  •  guage     有增有減的變化  適合: cpu 使用率等
  •  histogram 條形直方統計圖 適合: 請求耗時 響應大小等
  •  summary 和直方統計圖相似,可以自定 分數位,適合: 請求耗時 響應大小等

 2、grafana 配置

       以線程池監控為例

      (1) 儀表盤配置

          

           a、選擇數據源 : Prometheus

           b、 編寫promQL: 主要對線程池 線程池數目、激活數目、隊列中數目進行統計平均值,接下來根據指標自定義報警策略

           

        (2)報警配置:

          

        c、配置報警條件: now 到 5 分鍾前: 查詢條件(B)即隊列中數目 超過 100 則觸發報警

        d、配置報警通知:配置sender, 釘釘推送通知

              

 

     當監控指標異常時 會觸發釘釘報警, 開發人員會得到 通知 然后緊急處理。


免責聲明!

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



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