Prometheus學習系列(九)之Prometheus 聯邦、遷移


前言

本文來自Prometheus官網手冊 和 Prometheus簡介

聯盟有不同的用例。通常,它用於實現可擴展的Prometheus監控設置或將相關指標從一個服務的Prometheus拉到另一個服務。

1.1 分層聯盟

分層聯盟使Prometheus可以擴展到具有數十個數據中心和數百萬個節點的環境。在此用例中,聯合拓撲就像一棵樹,更高級別的Prometheus服務器從大量從屬服務器收集聚合的時間序列數據。

例如,設置可能包含許多高度詳細收集數據的每個數據中心Prometheus服務器(實例級深入分析),以及一組僅收集和存儲聚合數據的全局Prometheus服務器(作業級向下鑽取) )來自那些本地服務器。 這提供了聚合全局視圖和詳細的本地視圖。

1.2 跨服務聯盟

在跨服務聯盟中,將一項服務的Prometheus服務器配置為從另一項服務的Prometheus服務器抓取所選數據,以針對單個服務器內的兩個數據集啟用警報和查詢。

例如,運行多個服務的集群調度程序可能會公開有關集群上運行的服務實例的資源使用情況信息(例如內存和CPU使用情況)。另一方面,在該群集上運行的服務將僅公開特定於應用程序的服務指標。通常,這兩組指標是由單獨的Prometheus服務器抓取的。使用聯盟,包含服務級別指標的Prometheus服務器可以從群集Prometheus中獲取有關其特定服務的群集資源使用指標,以便可以在該服務器中使用這兩組指標。

二、聯邦配置

在任何給定的Prometheus服務器上,/federate端點允許檢索該服務器中所選時間序列集的當前值。 必須至少指定一個match[] URL參數才能選擇要公開的時間序列。 每個match[]參數都需要指定一個瞬時向量選擇器,如up{job="api-server"}。 如果提供了多個match[]參數,則選擇所有匹配系列的並集。

要將指標從一個服務器聯合到另一個服務器,請將目標Prometheus服務器配置為從源服務器的/federate端點進行采集,同時還啟用honor_labels scrape選項(以不覆蓋源服務器公開的任何標簽)並傳入所需的 match[]參數。

例如,以下scrape_config將任何帶有標簽job="prometheus"的系列或以job開頭的度量標准名稱聯合起來:source-prometheus-{1,2,3}:9090的Prometheus服務器進入抓取Prometheus:

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 2.0遷移指南Prometheus簡介

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM