您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家?guī)碛嘘P如何理解Prometheus Operator架構,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
這里討論 Prometheus Operator 的架構。
因為 Prometheus Operator 是基于 Prometheus 的,我們需要先了解一下 Prometheus。
Prometheus 是一個非常優(yōu)秀的監(jiān)控工具。準確的說,應該是監(jiān)控方案。Prometheus 提供了數(shù)據(jù)搜集、存儲、處理、可視化和告警一套完整的解決方案。Prometheus 的架構如下圖所示:
官網上的原始架構圖比上面這張要復雜一些,為了避免注意力分散,這里只保留了最重要的組件。
Prometheus Server
Prometheus Server 負責從 Exporter 拉取和存儲監(jiān)控數(shù)據(jù),并提供一套靈活的查詢語言(PromQL)供用戶使用。
Exporter
Exporter 負責收集目標對象(host, container...)的性能數(shù)據(jù),并通過 HTTP 接口供 Prometheus Server 獲取。
可視化組件
監(jiān)控數(shù)據(jù)的可視化展現(xiàn)對于監(jiān)控方案至關重要。以前 Prometheus 自己開發(fā)了一套工具,不過后來廢棄了,因為開源社區(qū)出現(xiàn)了更為優(yōu)秀的產品 Grafana。Grafana 能夠與 Prometheus 無縫集成,提供完美的數(shù)據(jù)展示能力。
Alertmanager
用戶可以定義基于監(jiān)控數(shù)據(jù)的告警規(guī)則,規(guī)則會觸發(fā)告警。一旦 Alermanager 收到告警,會通過預定義的方式發(fā)出告警通知。支持的方式包括 Email、PagerDuty、Webhook 等.
Prometheus Operator 的目標是盡可能簡化在 Kubernetes 中部署和維護 Prometheus 的工作。其架構如下圖所示:
圖上的每一個對象都是 Kubernetes 中運行的資源。
Operator
Operator 即 Prometheus Operator,在 Kubernetes 中以 Deployment 運行。其職責是部署和管理 Prometheus Server,根據(jù) ServiceMonitor 動態(tài)更新 Prometheus Server 的監(jiān)控對象。
Prometheus Server
Prometheus Server 會作為 Kubernetes 應用部署到集群中。為了更好地在 Kubernetes 中管理 Prometheus,CoreOS 的開發(fā)人員專門定義了一個命名為 Prometheus
類型的 Kubernetes 定制化資源。我們可以把 Prometheus
看作是一種特殊的 Deployment,它的用途就是專門部署 Prometheus Server。
Service
這里的 Service 就是 Cluster 中的 Service 資源,也是 Prometheus 要監(jiān)控的對象,在 Prometheus 中叫做 Target。每個監(jiān)控對象都有一個對應的 Service。比如要監(jiān)控 Kubernetes Scheduler,就得有一個與 Scheduler 對應的 Service。當然,Kubernetes 集群默認是沒有這個 Service 的,Prometheus Operator 會負責創(chuàng)建。
ServiceMonitor
Operator 能夠動態(tài)更新 Prometheus 的 Target 列表,ServiceMonitor 就是 Target 的抽象。比如想監(jiān)控 Kubernetes Scheduler,用戶可以創(chuàng)建一個與 Scheduler Service 相映射的 ServiceMonitor 對象。Operator 則會發(fā)現(xiàn)這個新的 ServiceMonitor,并將 Scheduler 的 Target 添加到 Prometheus 的監(jiān)控列表中。
ServiceMonitor 也是 Prometheus Operator 專門開發(fā)的一種 Kubernetes 定制化資源類型。
Alertmanager
除了 Prometheus 和 ServiceMonitor,Alertmanager 是 Operator 開發(fā)的第三種 Kubernetes 定制化資源。我們可以把 Alertmanager
看作是一種特殊的 Deployment,它的用途就是專門部署 Alertmanager 組件。
上述就是小編為大家分享的如何理解Prometheus Operator架構了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。