簡體   English   中英

聯邦的 Prometheus 警報管理器

[英]Prometheus Alert Manager for Federation

我們有幾個集群,我們的應用程序正在運行。 我們想建立一個中央監控集群,它可以使用 Prometheus Federation 從集群的其余部分抓取指標。

為此,我需要在每個集群中安裝 prometheus 服務器,並通過中央集群中的聯合安裝 prometheus 服務器。我將在中央集群中安裝 Grafana,以可視化我們從 prometheus 服務器的其余部分收集的指標。

所以問題是;

  1. 我應該在哪里設置警報管理器? 僅用於中央集群還是每個集群還必須是警報管理器?

  2. 使用聯合時發出警報的最佳做法是什么?

  3. 我雖然可以使用入口控制器來公開每個普羅米修斯服務器? 在 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM