将布尔量度/表达式转换为计数器

时间:2019-11-07 13:37:26

标签: prometheus

我需要将布尔量度转换为计数器以捕获0 / 1s的增加。我正在努力想出一条记录规则或一项功能来实现这一目标。有哪些选项可以实现这一目标?

1 个答案:

答案 0 :(得分:1)

不可能从量表(布尔指标)到计数器。至少不会丢失数据。例如。给定一个10秒的刮擦间隔,您的布尔值可以翻转为0,然后依次为1、0、1,依此类推。在这10秒的间隔内可以任意次数。甚至可能最终获得与10秒钟前相同的值。

例如从这样的序列每5秒翻转一次,普罗米修斯只会看到一个,而不会看到零:

0 1 0 1 0 1 0 1 0 1
  ^   ^   ^   ^   ^

所以从普罗米修斯的角度来看,您的量规停留在1,并且没有任何变化。

但是,假设您的计数器从未超过10秒更改一次,则可以设置一个记录规则,例如changes(boolean_metric[20s])(仍然假设刮擦间隔为10秒),然后对输出执行sum_over_time()该规则。