Prometheus(普羅米修斯)是一款開源的監控系統,使用go語言開發,啟動速度快,易於部署,下載后可直接運行
Prometheus翻譯中文版
Prometheus組織架構


組件介紹:
1、Prometheus Server:
用於收集和存儲時間序列數據。Prometheus Server是Prometheus組件中的核心部分,負責實現對監控數據的獲取,存儲以及查詢。提供一套靈活高效的查詢(PromQL)
1.1、Retrieval:采樣模塊,Prometheus的服務器在哪里拉取數據\檢索拉去到的數據分發給TSDB進行存儲
1.2、TSDB:存儲模塊默認本地存儲為tsdb
1.3、HTTP Server:提供http接口查詢和面板,默認端口為9090
2、Exporters/Jobs:
負責收集目標對象(host,container...)的性能數據,並通過HTTP接口供Prometheus Server獲取。支持數據庫、硬件、消息中間件、存儲系統、http服務器、jmx等。只要符合接口格式,就可以被采集。
3、Prometheus Web UI
在Prometheus Web 提供相應的查詢,和一些簡單的圖表,平時可以用來查詢和排錯
4、Grafana
一個優秀的前端框架,可以和Prometheus結合生成酷炫的圖表
Prometheus工作流程:
1、Prometheus server定期從配置好的jobs或者exporters中拉metrics,或者接收來自Pushgateway發過來的metrics,或者從其他的Prometheus server中拉metrics。
2、Prometheus server在本地存儲收集到的metrics,並運行已定義好的alert.rules,記錄新的時間序列或者向Alertmanager推送警報
3、Alertmanager根據配置文件,對接收到的警報進行處理,發出告警。
4、在圖形界面中,可視化采集數據,可以使用別人寫好的Grafana模板,或者可以自己靈活定制相關方法。