Prometheus 是一個很是優秀的監控工具。準確的說,應該是監控方案。Prometheus 提供了監控數據蒐集、存儲、處理、可視化和告警一套完整的解決方案。html
讓咱們先來看看 Prometheus 的架構。ios
Prometheus 架構以下:架構
官網上的原始架構圖比上面這張要複雜一些,爲了集中你們的注意力,我只保留了最重要的組件。工具
Prometheus Server性能
Prometheus Server 負責從 Exporter 拉取和存儲監控數據,並提供一套靈活的查詢語言(PromQL)供用戶使用。spa
Exporterhtm
Exporter 負責收集目標對象(host, container…)的性能數據,並經過 HTTP 接口供 Prometheus Server 獲取。對象
可視化組件接口
監控數據的可視化展示對於監控方案相當重要。之前 Prometheus 本身開發了一套工具,不事後來廢棄了,由於開源社區出現了更爲優秀的產品 Grafana。Grafana 可以與 Prometheus 無縫集成,提供完美的數據展現能力。開發
Alertmanager
用戶能夠定義基於監控數據的告警規則,規則會觸發告警。一旦 Alermanager 收到告警,會經過預約義的方式發出告警通知。支持的方式包括 Email、PagerDuty、Webhook 等.
也許一些熟悉其餘監控方案的同窗看了 Prometheus 的架構會不覺得然,「這些功能 Zabbix、Graphite、Nagios 這類監控系統也都有,沒什麼特別的啊!」。
Prometheus 最大的亮點和先進性是它的多維數據模型,下節咱們重點介紹。
書籍:
1.《天天5分鐘玩轉Docker容器技術》
https://item.jd.com/16936307278.html
2.《天天5分鐘玩轉OpenStack》
https://item.jd.com/12086376.html