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

如何对小数据集的Prometheus计数器进行求和计算

解决小数据集下Prometheus统计用户操作总数的问题

你的场景里,用户操作数据量极小(每月仅十几个),increase()函数依赖足够的样本间隔计算增量,确实容易出问题。试试用下面的查询语句:

sum(last_over_time(user_actions_total[$__range]) - first_over_time(user_actions_total[$__range])) by (user_id)

原理很直白:

  • first_over_time(user_actions_total[$__range])会取时间范围内该用户计数器的第一个样本值
  • last_over_time(user_actions_total[$__range])取时间范围内的最后一个样本值
  • 两者相减就是这段时间内该用户的操作增量(也就是总数),最后按user_id聚合求和

如果你的计数器从来没有重置过(比如每个用户的操作都是从0开始累积),也可以简化成:

sum(last_over_time(user_actions_total[$__range])) by (user_id)

不过还是推荐第一种写法,能兼容计数器重置的情况,更稳妥。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 01:37:32