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

Prometheus 将布尔度量/表达式转换为计数器,prometheus,Prometheus,我需要将布尔度量转换为计数器,以捕获0/1的增量。我正在努力想出一个录音规则或函数来实现这一点。有哪些选项可以实现这一目标 从仪表(布尔度量)到计数器是不可能的。至少在不丢失数据的情况下。例如,给定10秒的刮取间隔,布尔值可以在该10秒间隔内翻转到0、1、0、1等任意次数。它甚至可能与10秒前的值相同 例如,从这样一个每5秒翻转一次的序列中,普罗米修斯只会看到1,而不会看到0: 0 1 0 1 0 1 0 1 0 1 ^ ^ ^ ^ ^ 所以从普罗米修斯的角度来看,你的仪表

我需要将布尔度量转换为计数器,以捕获0/1的增量。我正在努力想出一个录音规则或函数来实现这一点。有哪些选项可以实现这一目标

从仪表(布尔度量)到计数器是不可能的。至少在不丢失数据的情况下。例如,给定10秒的刮取间隔,布尔值可以在该10秒间隔内翻转到0、1、0、1等任意次数。它甚至可能与10秒前的值相同

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

0 1 0 1 0 1 0 1 0 1
  ^   ^   ^   ^   ^
所以从普罗米修斯的角度来看,你的仪表卡在1,而且从来没有任何变化

假设计数器的更改频率从未超过10秒,您可以设置一个记录规则,如
更改(布尔度量[20s])
(仍然假设刮取间隔为10秒),然后对该规则的输出执行
随时间求和()