聯(lián)合允許Prometheus服務器從另一個Prometheus服務器中截取選定的時間序列承璃。
一粤攒、用例
聯(lián)邦有不同的用例笔刹。 通常互妓,它用于實現(xiàn)可擴展的Prometheus監(jiān)控設置或?qū)⑾嚓P指標從一個服務的Prometheus拉到另一個服務溪窒。
1.1 分層聯(lián)合
分層聯(lián)合允許Prometheus擴展到具有數(shù)十個數(shù)據(jù)中心和數(shù)百萬個節(jié)點的環(huán)境。 在此用例中冯勉,聯(lián)合拓撲類似于樹澈蚌,較高級別的Prometheus服務器從較大數(shù)量的從屬服務器收集聚合時間序列數(shù)據(jù)。
例如灼狰,設置可能包含許多高度詳細收集數(shù)據(jù)的每個數(shù)據(jù)中心Prometheus服務器(實例級深入分析)宛瞄,以及一組僅收集和存儲聚合數(shù)據(jù)的全局Prometheus服務器(作業(yè)級向下鉆取) )來自那些本地服務器交胚。 這提供了聚合全局視圖和詳細的本地視圖份汗。
1.2 跨服務聯(lián)合
在跨服務聯(lián)合中,一個服務的Prometheus服務器配置為從另一個服務的Prometheus服務器中提取所選數(shù)據(jù)蝴簇,以便對單個服務器中的兩個數(shù)據(jù)集啟用警報和查詢杯活。
例如,運行多個服務的集群調(diào)度程序可能會暴露有關在集群上運行的服務實例的資源使用情況信息(如內(nèi)存和CPU使用情況)熬词。 另一方面旁钧,在該集群上運行的服務僅公開特定于應用程序的服務指標。 通常互拾,這兩組指標都是由單獨的Prometheus服務器抓取的歪今。 使用聯(lián)合,包含服務級別度量標準的Prometheus服務器可以從群集Prometheus中提取有關其特定服務的群集資源使用情況度量標準颜矿,以便可以在該服務器中使用這兩組度量標準彤委。
二、聯(lián)邦配置
在任何給定的Prometheus服務器上或衡,/federate
端點允許檢索該服務器中所選時間序列集的當前值焦影。 必須至少指定一個match[]
URL參數(shù)才能選擇要公開的系列。 每個match[]
參數(shù)都需要指定一個即時向量選擇器封断,如up
或{job="api-server"}
斯辰。 如果提供了多個match[]
參數(shù),則選擇所有匹配系列的并集坡疼。
要將指標從一個服務器聯(lián)合到另一個服務器彬呻,請將目標Prometheus服務器配置為從源服務器的/federate
端點進行刮取,同時還啟用honor_labels
scrape選項(以不覆蓋源服務器公開的任何標簽)并傳入所需的 match[]
參數(shù)。 例如闸氮,以下scrape_config
將任何帶有標簽job="prometheus"
的系列或以job
開頭的度量標準名稱聯(lián)合起來:source-prometheus-{1,2,3}:9090
的Prometheus服務器進入抓取普羅米修斯:
- 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官網(wǎng)地址:https://prometheus.io/
我的Github:https://github.com/Alrights/prometheus