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

如何在Prometheus中计算过去7天同一时段的流量平均值?

Prometheus计算过去7天同一时段流量平均值的优化方案

优化后的7天同一时段平均值查询语句

直接扩展你已有的offset拼接逻辑,即可实现过去7天同一时段的流量平均值计算:

(sum(rate(kong_http_requests_total{}[5m] offset 1d))
+ sum(rate(kong_http_requests_total{}[5m] offset 2d))
+ sum(rate(kong_http_requests_total{}[5m] offset 3d))
+ sum(rate(kong_http_requests_total{}[5m] offset 4d))
+ sum(rate(kong_http_requests_total{}[5m] offset 5d))
+ sum(rate(kong_http_requests_total{}[5m] offset 6d))
+ sum(rate(kong_http_requests_total{}[5m] offset 7d))) / 7

关键说明

  • Prometheus目前没有内置函数直接实现"过去N天同一时段平均值"的计算,这种手动拼接offset的方式是最直接的解决方案,能精准对齐每日相同时间窗口的流量数据,避免全局7天平均值的峰谷偏差问题。
  • 若要直接判断当前流量是否下降,可以将当前RPS查询与上述平均值查询结合,设置合理阈值(比如以下降20%为触发条件):
sum(rate(kong_http_requests_total{}[5m])) < 0.8 * (sum(rate(kong_http_requests_total{}[5m] offset 1d)) + sum(rate(kong_http_requests_total{}[5m] offset 2d)) + sum(rate(kong_http_requests_total{}[5m] offset 3d)) + sum(rate(kong_http_requests_total{}[5m] offset 4d)) + sum(rate(kong_http_requests_total{}[5m] offset 5d)) + sum(rate(kong_http_requests_total{}[5m] offset 6d)) + sum(rate(kong_http_requests_total{}[5m] offset 7d))) / 7

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 02:57:06