You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Prometheus relabel_configs将多采集目标合并为单个Job?

Prometheus合并多Job为单个Job的配置方案

核心思路

在单个myJob中定义所有环境的采集目标,通过自定义标签绑定每个环境对应的exporter主机,再利用relabel_configs替换__address__为对应主机的地址,实现统一Job名称下的精准采集。

静态配置示例(直接写在Prometheus配置里)

scrape_configs:
  - job_name: 'myJob'
    # 定义6个环境的目标,每个环境绑定对应的exporter主机标签
    static_configs:
      - targets: ['env1', 'env2', 'env3']
        labels:
          exporter_host: 'host1:9100' # 替换为你的host1 exporter实际地址+端口
      - targets: ['env4', 'env5', 'env6']
        labels:
          exporter_host: 'host2:9100' # 替换为你的host2 exporter实际地址+端口
    # 重写标签规则
    relabel_configs:
      # 把原__address__(环境名)转存为env_name标签,保留环境标识
      - source_labels: [__address__]
        target_label: env_name
      # 替换__address__为绑定的exporter主机地址,让Prometheus去对应主机采集
      - source_labels: [exporter_host]
        target_label: __address__
        replacement: '$1' # 引用source_labels第一个值,即exporter_host的内容

动态文件配置示例(适合环境较多的场景)

如果环境数量较多,推荐用file_sd_configs管理目标:

  1. 新建目标配置文件env_targets.json:
[
  {"targets": ["env1"], "labels": {"exporter_host": "host1:9100"}},
  {"targets": ["env2"], "labels": {"exporter_host": "host1:9100"}},
  {"targets": ["env3"], "labels": {"exporter_host": "host1:9100"}},
  {"targets": ["env4"], "labels": {"exporter_host": "host2:9100"}},
  {"targets": ["env5"], "labels": {"exporter_host": "host2:9100"}},
  {"targets": ["env6"], "labels": {"exporter_host": "host2:9100"}}
]
  1. 对应Prometheus配置:
scrape_configs:
  - job_name: 'myJob'
    file_sd_configs:
      - files: ['/path/to/env_targets.json'] # 替换为你的文件实际路径
    relabel_configs:
      - source_labels: [__address__]
        target_label: env_name
      - source_labels: [exporter_host]
        target_label: __address__
        replacement: '$1'

关键说明

  • replacement: '$1'的作用是直接引用source_labels里的第一个值(也就是exporter_host的内容),把它赋值给__address__,这样Prometheus就会去指定的exporter主机拉取数据。
  • 保留env_name标签是为了在指标中区分不同环境,如果你不需要可以删掉这条relabel规则。
  • 确保exporter_host里的地址是Prometheus能正常访问的,包括正确的IP/域名和端口。
  • 你的Prometheus 2.37.0版本完全支持这种配置,没有兼容性问题。

内容的提问来源于stack exchange,提问作者Luc De Graef

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 20:48:14