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

PromQL语法求助:Grafana非2xx请求数告警规则编写报错

问题分析与解决

你的PromQL语句出错的核心原因是误用了计数器类型指标的处理方式:

  • http_requests_total是计数器(Counter)类型指标,它的值是单调递增的,记录的是从服务启动以来的累计请求数。直接用sum_over_time对它的1分钟窗口样本求和,得到的是这个时间段内所有样本值的累加值,完全不是你需要的「最近1分钟内的请求增量」。

正确的写法应该分两步:

  1. 用increase()函数计算每个时间序列在1分钟内的请求增量(它会自动处理计数器重置的情况)
  2. 用sum()对所有非2xx状态码的请求增量求和,再判断是否超过50

最终的告警PromQL语句是:

sum(increase(http_requests_total{status_code!~'2.*'}[1m])) > 50

额外说明:

  • 如果你更关注平均速率,也可以用rate()代替increase(),然后乘以60得到1分钟内的请求数,结果是一致的:sum(rate(http_requests_total{status_code!~'2.*'}[1m])) * 60 > 50
  • status_code!~'2.*'的匹配规则是正确的,能覆盖所有非2xx的状态码(比如4xx、5xx)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 16:50:42