[英]Prometheus Alert Manager for Federation
我們有幾個集群,我們的應用程序正在運行。 我們想建立一個中央監控集群,它可以使用 Prometheus Federation 從集群的其余部分抓取指標。
為此,我需要在每個集群中安裝 prometheus 服務器,並通過中央集群中的聯合安裝 prometheus 服務器。我將在中央集群中安裝 Grafana,以可視化我們從 prometheus 服務器的其余部分收集的指標。
所以問題是;
我應該在哪里設置警報管理器? 僅用於中央集群還是每個集群還必須是警報管理器?
使用聯合時發出警報的最佳做法是什么?
我雖然可以使用入口控制器來公開每個普羅米修斯服務器? 在 k8s 中提供 prometheus 服務器和聯邦之間的通信的最佳實踐是什么?
基於此 博客
我應該在哪里設置警報管理器? 僅用於中央集群還是每個集群還必須是警報管理器?
使用聯合時發出警報的最佳做法是什么?
這里的答案是在每個集群上都這樣做。
如果您需要發出警報的數據從一個 Prometheus 移動到另一個 Prometheus,那么您就增加了一個額外的故障點。 當涉及互聯網等 WAN 鏈接時,這尤其危險。 盡可能地,您應該嘗試在聯邦層次結構中盡可能深入地推送警報。 例如,應該在抓取該目標的 Prometheus 上設置有關目標關閉的警報,而不是可以刪除幾個步驟的全局 Prometheus。
我雖然可以使用入口控制器來公開每個普羅米修斯服務器? 在 k8s 中提供 prometheus 服務器和聯邦之間的通信的最佳實踐是什么?
我認為這取決於用例,在我檢查的每個文檔中,他們只使用 prometheus.yml 中的scrape_configs.static_configs
中的目標
喜歡這里
scrape_configs:
- job_name: 'federate'
scrape_interval: 15s
honor_labels: true
metrics_path: '/federate'
params:
'match[]':
- '{job="prometheus"}'
- '{__name__=~"job:.*"}'
static_configs:
- targets:
- 'source-prometheus-1:9090'
- 'source-prometheus-2:9090'
- 'source-prometheus-3:9090'
或者
喜歡這里
prometheus.yml:
rule_files:
- /etc/config/rules
- /etc/config/alerts
scrape_configs:
- job_name: 'federate'
scrape_interval: 15s
honor_labels: true
metrics_path: '/federate'
params:
'match[]':
- '{job="prometheus"}'
- '{__name__=~"job:.*"}'
static_configs:
- targets:
- 'prometheus-server:80'
此外,值得在本教程中查看他們是如何做到這一點的,他們使用helm在兩個集群上構建了兩個 prometheus 服務器的中央監控集群。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.