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

Prometheus http_sd_configs场景下metric_relabel_configs提取fccid标签失效问题

问题根因

metric_relabel_configs完全兼容http_sd_configs场景,配置不生效的核心原因是标签生命周期和处理阶段不匹配:

  • 所有带__前缀的目标标签(包括__param_<参数名>这类用于控制抓取请求参数的标签)仅存在于服务发现完成后、relabel_configs执行阶段
  • relabel_configs执行结束后,所有未被显式转为普通标签的__前缀标签都会被系统自动清除,不会进入后续的抓取、metric_relabel_configs处理阶段
  • 你现在把__param_fccid的提取逻辑放在metric_relabel_configs里,此时这个标签已经被删除,自然读不到对应值

解决方案

将标签提取逻辑从metric_relabel_configs移动到relabel_configs下即可,修改后的配置示例:

- job_name: "tse"
  http_sd_configs:
    - url: "http://tse.mydomain.url/something"
      basic_auth:
        username: "foo"
        password: "bar"
  relabel_configs:
    - source_labels: [__param_fccid]
      regex: (.*)
      target_label: fccid
      replacement: ${1}
  # 原有其他metric_relabel_configs规则可保留在下方正常使用

补充说明

Prometheus标签处理的完整顺序:

  1. 服务发现结束,生成目标的所有默认标签(含所有__前缀的内置标签、__param_*参数标签)
  2. 执行relabel_configs规则,可自行调整、保留需要的标签
  3. 清除所有剩余的__前缀标签,向目标发起抓取请求
  4. 拿到返回的指标数据,执行metric_relabel_configs规则调整指标标签
  5. 最终将指标写入存储

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 14:42:03