如何计算Prometheus聚合指标rollup:foo_count:1m的24小时总增量?
正确查询语句及原理
你之前的查询结果偏差大,核心原因是:rollup:foo_count:1m 存储的是每秒平均增量速率(由rate(foo_count[1m])计算而来),直接用sum_over_time求和得到的是24小时内所有每秒速率的总和,并非实际的总增量。
正确的24小时总增量查询语句是:
sum(sum_over_time(rollup:foo_count:1m[24h])) * 60
原理说明
rollup:foo_count:1m的每个样本,是基于1分钟窗口计算出的每秒平均增量速率(比如每秒增加5个,样本值就是5)。- 每个1分钟窗口对应的实际增量是「速率 × 60秒」,所以把24小时内所有rollup样本的速率求和后,再乘以60,就能得到这段时间的总增量。
内容的提问来源于stack exchange,提问作者bschaeffer
相关产品推荐
相关产品推荐

