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

PromQL查询异常:统计5分钟内执行超3秒请求数的问题排查

原查询问题分析及正确写法

你写的查询有两个关键错误

  • 桶的逻辑搞反了:http_server_requests_seconds_bucket是Prometheus的直方图累积桶,le="3"统计的是执行时间≤3秒的请求,和你要的“超过3秒”完全相反。
  • 用错了聚合函数:count_over_time是用来数时间序列在窗口内有多少个样本的,但直方图的bucket样本是累积计数,不是单个请求的记录,用它算出来的数值根本不是你要的请求数量。

正确的查询语句

要统计最近5分钟内执行时间超过3秒的请求数,得利用直方图的累积特性:用总请求数(le="+Inf"的桶,包含所有请求)减去≤3秒的请求数,再取5分钟窗口内的增量:

sum_over_time(http_server_requests_seconds_bucket{env=~"myEnv", group="myGroup", uri="myUri", le="+Inf"}[5m]) 
- 
sum_over_time(http_server_requests_seconds_bucket{env=~"myEnv", group="myGroup", uri="myUri", le="3"}[5m]) > 10

额外说明

如果你的指标有多个实例或方法这类额外标签,需要把所有维度的结果聚合起来,可以在外层加sum():

sum(
  sum_over_time(http_server_requests_seconds_bucket{env=~"myEnv", group="myGroup", uri="myUri", le="+Inf"}[5m]) 
  - 
  sum_over_time(http_server_requests_seconds_bucket{env=~"myEnv", group="myGroup", uri="myUri", le="3"}[5m])
) > 10

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 22:39:57