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

如何在Prometheus中创建告警:当指标值与expected_value标签值不一致时触发

在Prometheus中创建指标值与expected_value标签不一致的告警规则

要实现当my_metric的数值和它的expected_value标签取值不一致时触发告警,核心是把字符串类型的标签值转成数值,再和指标值做比较。以下是具体的告警规则配置:

groups:
- name: my_metric_alerts
  rules:
  - alert: MetricValueMismatchExpected
    expr: my_metric != strtofloat(label_replace(my_metric, "dummy", "$1", "expected_value", "(.*)"))
    for: 1m
    labels:
      severity: critical
    annotations:
      summary: "指标值与预期值不匹配"
      description: "实例 {{ $labels.instance }} 的指标 my_metric 当前值为 {{ $value }},预期值为 {{ $labels.expected_value }}"

关键说明:

  • strtofloat函数:将expected_value标签的字符串内容转换为数值类型,这样才能和指标的数值进行比较运算
  • label_replace函数:用来提取expected_value标签的内容(创建的dummy标签仅为辅助提取,无实际作用)
  • for: 1m:设置告警触发的持续时间,避免瞬时数值波动导致误报
  • 过滤非数值标签:如果expected_value可能存在非数值内容,可以在表达式中添加过滤条件,比如my_metric{expected_value=~"^[0-9.]+$"} != strtofloat(...),防止转换失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 12:52:31