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

Prometheus relabel_configs正则匹配失败,service标签未生成求助

问题原因与解决方法

核心问题

Prometheus的relabel规则里,regex默认是全字符串匹配——相当于自动给正则加了^(开头)和$(结尾)锚点。你的__address__值是https://example.com/health,但你写的regex: '\/health'只会匹配**完全等于/health**的字符串,自然匹配不上完整的URL,所以service标签生成失败。

解决方法

修改第三段relabel规则的regex,让它能匹配到URL里的/health部分:

方案1:精准匹配URL末尾的/health(推荐)

把正则改成匹配字符串结尾的/health:

- source_labels: [__address__]
  regex:  '.*/health$'
  replacement: 'my new label'
  target_label: service
  • .*:匹配任意长度的任意字符(除换行)
  • /health:指定要匹配的目标片段
  • $:锚定到字符串结尾,确保/health是URL的最后部分

方案2:匹配任意位置的/health

如果不需要严格限制在结尾,只要URL里包含/health就生效,可以去掉结尾锚点:

- source_labels: [__address__]
  regex:  '.*/health'
  replacement: 'my new label'
  target_label: service

验证小技巧

用Prometheus自带的promtool工具可以测试relabel规则的效果,避免反复重启服务:

promtool relabel config 你的配置文件路径.yaml --input-labels="__address__=https://example.com/health,job=black-box"

执行后就能看到每一步relabel处理后的标签变化,快速验证规则是否生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 22:01:28