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

Prometheus重标记后告警规则未触发问题求助

排查步骤

1. 验证重标记后的指标是否存在

直接在Prometheus UI的查询框中输入container_memory_namespace_bytes执行查询:

  • 若无任何返回结果,说明重标记配置未生效,问题出在metric_relabel环节;
  • 若有返回结果,确认指标值是否确实大于0,以及时间序列是否连续。

2. 检查metric_relabel_configs配置问题

引号问题

你的配置中replacement字段使用了单引号:

replacement: 'container_memory_namespace_bytes'

Prometheus的YAML配置中字符串无需额外单引号,这可能导致生成的指标名实际为'container_memory_namespace_bytes'(带单引号),而非预期名称。修改为:

replacement: container_memory_namespace_bytes

配置作用范围确认

确保metric_relabel_configs定义在scrape_configs下对应job: kubernetes-cadvisor的配置块内,而非全局配置或其他job下——只有对应job的抓取数据才会应用该重标记规则。

正则匹配验证

确认regex: container_memory_.*_bytes确实匹配原始指标container_memory_usage_bytes,也可调整为更精确的container_memory_\w+_bytes,避免意外匹配其他指标。

3. 检查告警规则状态

  • 进入Prometheus的Alerts页面,确认test of relabeling规则已加载,无语法错误提示;
  • 查看规则当前状态:如果是pending,说明指标刚满足条件,还未达到for: 1m的持续时间;如果始终是inactive,说明规则表达式未匹配到任何数据。

4. 查看Prometheus日志

检查Prometheus启动或运行时的日志,排查是否有以下错误:

  • 重标记配置解析错误;
  • 告警规则加载失败;
  • 抓取kubernetes-cadvisor job时的异常。

5. 验证for语句的影响

若指标刚满足条件,需等待1分钟才会从pending转为firing。可临时将for: 1m改为for: 0s测试,看是否能立即触发告警,排除时间等待的影响。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 02:52:46