1. 程式人生 > 其它 >Prometheus之聯邦

Prometheus之聯邦

一 聯邦介紹

聯合允許 Prometheus 伺服器從另一個 Prometheus 伺服器抓取選定的時間序列。

二 聯邦用例

聯邦有不同的用例。通常,它用於實現可擴充套件的 Prometheus 監控設定或將相關指標從一個服務的 Prometheus 提取到另一個服務中。

2.1Hierarchical federation

分層聯邦允許 Prometheus 擴充套件到具有數十個資料中心和數百萬個節點的環境。在這個用例中,聯邦拓撲類似於一棵樹,更高級別的 Prometheus 伺服器從大量從屬伺服器收集聚合時間序列資料。

例如,一個設定可能由許多每個資料中心的 Prometheus 伺服器組成,這些伺服器收集高度詳細的資料(例項級向下鑽取),以及一組僅收集和儲存聚合資料(作業級向下鑽取)的全域性 Prometheus 伺服器) 來自那些本地伺服器。這提供了聚合的全域性檢視和詳細的區域性檢視。

2.2跨服務聯合

在跨服務聯合中,一個服務的 Prometheus 伺服器被配置為從另一個服務的 Prometheus 伺服器中抓取選定的資料,以便在單個伺服器內對兩個資料集進行警報和查詢。

例如,執行多個服務的叢集排程程式可能會公開有關在叢集上執行的服務例項的資源使用資訊(如記憶體和 CPU 使用情況)。另一方面,在該叢集上執行的服務只會公開特定於應用程式的服務指標。通常,這兩組指標由單獨的 Prometheus 伺服器抓取。使用聯合,包含服務級別指標的 Prometheus 伺服器可以從叢集 Prometheus 中提取有關其特定服務的叢集資源使用指標,以便可以在該伺服器中使用這兩組指標。

三 配置聯邦

3.1 主Prometheus配置

scrape_configs:
  
  - job_name: "federate"


    honor_labels: true
    metrics_path: '/federate'

    params:
      'match[]':
        - '{job="prometheus-01"}'
        - '{__name__=~"job:.*"}'


    static_configs:
      - targets: 
        - "192.168.174.103:9090" #需要抓取資料的Prometheus Server

3.2 驗證Prometheus web介面