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

如何为Prometheus主实例自动添加cluster:"primary"标签?

解决方法

要给主Prometheus实例自身采集的指标自动添加cluster:"primary"标签,同时不覆盖从辅助实例通过remote_write传入的已有cluster标签,你可以通过以下两种简洁方式配置:

方式一:全局指标重标记(最简便)

在主实例的Prometheus配置中添加全局metric_relabel_configs,该规则仅作用于主实例自身采集的指标(通过remote_write写入的指标不会经过这个流程),且仅当指标原本没有cluster标签时才添加目标标签,避免冲突:

global:
  scrape_interval: 15s
  evaluation_interval: 15s
  # 注意:不要在这里设置external_labels的cluster字段,否则会覆盖所有传入指标的cluster标签

# 全局配置:为主实例自采集指标添加cluster标签
metric_relabel_configs:
  - target_label: cluster
    replacement: "primary"
    action: replace
    source_labels: [cluster]
    regex: "" # 匹配cluster标签不存在的情况

方式二:针对单个采集任务添加标签

如果需要更精细的控制(比如仅给特定采集任务加标签),可以在每个scrape_config的relabel_configs中单独添加规则:

scrape_configs:
  - job_name: 'kubernetes-apiservers'
    # 原有采集配置(比如K8s服务发现、TLS配置等)
    relabel_configs:
      # 原有relabel规则...
      # 新增:给该任务采集的指标添加cluster标签
      - source_labels: []
        target_label: cluster
        replacement: "primary"
  
  - job_name: 'kubernetes-nodes'
    # 原有采集配置
    relabel_configs:
      # 原有relabel规则...
      - source_labels: []
        target_label: cluster
        replacement: "primary"

验证与生效

配置完成后,通过以下方式让配置生效:

  • K8s环境中:滚动重启主Prometheus Pod,或通过curl -X POST http://prom-primary:9090/-/reload热重载配置
  • 验证:在主实例的查询界面执行up{cluster="primary"},应能看到主实例自身采集的所有up指标;执行up{cluster="prom-aux-01"}则能看到辅助实例传入的指标。

内容的提问来源于stack exchange,提问作者dash1e

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 11:23:19