prometheus架構及核心組件說明


一、架構及核心組件說明
Prometheus Server:服務核心組件,通過pull metrics從 Exporter 拉取和存儲監控數據,並提供一套靈活的查詢語言(PromQL)。
pushgateway:類似一個中轉站,Prometheus的server端只會使用pull方式拉取數據,但是某些節點因為某些原因只能使用push方式推送數據,那么它就是用來接收push而來的數據並暴露給Prometheus的server拉取的中轉站。
Exporters/Jobs:負責收集目標對象(host, container…)的性能數據,並通過 HTTP 接口供 Prometheus Server 獲取。
Service Discovery:服務發現,Prometheus支持多種服務發現機制:文件,DNS,Consul,Kubernetes,OpenStack,EC2等等。基於服務發現的過程並不復雜,通過第三方提供的接口,Prometheus查詢到需要監控的Target列表,然后輪詢這些Target獲取監控數據。
Alertmanager:從 Prometheus server 端接收到 alerts 后,會進行去除重復數據,分組,並路由到對方的接受方式,發出報警。常見的接收方式有:電子郵件,pagerduty 等。
UI頁面的三種方法:
  • Prometheus web UI:自帶的(不怎么好用)
  • Grafana:美觀、強大的可視化監控指標展示工具
  • API clients:自己開發的監控展示工具
工作流程:Prometheus Server定期從配置好的Exporters/Jobs中拉metrics,或者來着pushgateway發過來的metrics,或者其它的metrics,收集完后運行定義好的alert.rules(這個文件后面會講到),記錄時間序列或者向Alertmanager推送警報
 
二、常用的exporter整理
  • node_exporter:用來監控運算節點上的宿主機的資源信息,需要部署到所有運算節點
  • kube-state-metric:prometheus采集k8s資源數據的exporter,能夠采集絕大多數k8s內置資源的相關數據,例如pod、deploy、service等等。同時它也提供自己的數據,主要是資源采集個數和采集發生的異常次數統計
  • cadvisor:用來監控容器內部使用資源的信息
  • blackbox_exporter:監控業務容器存活性


免責聲明!

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



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