普罗米修斯:从毫瓦样本中获取累积千瓦时

时间:2019-03-09 02:22:48

标签: prometheus

我有一个能源监测设备Belkin Wemo,它报告当前的毫瓦使用量,并且有将其输出到普罗米修斯的方法。我想要的是一个图表,该图表显示了自从我开始收集数据的那一刻起,累积KwH单调增加。

以下以min_step = 1h的表格绘制的查询向我显示了每小时的KwH,它们加起来总计为我认为的总KwH,因此,我很确定我的数据是正确的:

sum_over_time(current_power[1h])/1000/1000/count_over_time(current_power[1h])

在图形中绘制相同的查询并不能满足我的要求,因为我想要一个累计总数,而不是一系列的单个小时总数。如果我可以对这个查询的结果求和,我认为它将满足我的要求。但是,sum()运算符似乎并没有像我围绕上述查询那样做。

2 个答案:

答案 0 :(得分:0)

sum_over_time在您为其定义的时间范围内汇总指标(方括号中的位) 从量规/直方图中获取累积数在技术上是不可能的,除非您要永久保留数据,这在技术上是不可能的:) 要正确获得所需的内容,您需要将其从量规/直方图指标转换为增量指标

答案 1 :(得分:0)

我认为我使用Prometheus子查询提出了一个可行的解决方案。我相信我必须升级我的Prometheus版本才能获得子查询支持。通过子查询,可以计算千瓦时,然后将其求和。我从这里开始:

sum_over_time( (sum_over_time(current_power[1h])/1000/1000/count_over_time(current_power[1h]))[1y:1h] )

然后我想要更高的分辨率(上面的内容会有些滞后),所以我将间隔缩短到5分钟:

sum_over_time( (sum_over_time(current_power[5m])/1000/1000/count_over_time(current_power[5m]))[1y:5m] )/12

这给了我去年的电量。我只测试了一天半。