如何在Prometheus中计算指定指标最近N小时的总平均值?
解决Prometheus计算2小时内功率指标总平均值的问题
- 你的原查询问题出在计算顺序错误:先对单个时间序列做2小时窗口的平均,再聚合求和,这和你需要的「整个时段内所有采集数据的总平均值」逻辑不符。
- 正确的查询应该先按
node和instance聚合每个时刻的功率总和,再对这个总和序列计算过去2小时的平均值:avg_over_time(sum(dell_hw_chassis_power_reading) by (node, instance)[2h:]) - 逻辑说明:
sum(dell_hw_chassis_power_reading) by (node, instance):先把同一node和instance下的所有功率指标在每个采集时刻求和,得到每个时刻的总功率。[2h:]:指定要统计的过去2小时时间范围。avg_over_time(...):对上述总功率序列在2小时窗口内取平均值,得到这段时间的总平均功率。
内容的提问来源于stack exchange,提问作者CMorrin
相关产品推荐
相关产品推荐

