PromQL-计算指标具有相同值的次数

时间:2019-11-06 13:21:52

标签: prometheus promql

是否有任何函数可以显示特定度量在Prometheus上具有相同值的次数?

我有一个指标,该指标不断返回整数1024: exec_nsa_server_brokers_on_KM

出问题时,该值可能是1023或1022。我想要实现的是让查询返回该度量在任何时候返回1024或1023的方式。

我尝试了一些count函数,但是看起来它们可以在不同的情况下工作。

1 个答案:

答案 0 :(得分:0)

您可以为此使用子查询或记录规则。子查询版本将类似于:

sum_over_time(count_values without() ("value", up)[10m:])

(在您的情况下,将up替换为exec_nsa_server_brokers_on_KM,并可以选择使用avg_over_time来获取比率而不是绝对值)。

这将为您提供过去10分钟(或您感兴趣的任何时间范围)内每个时间序列具有给定值的次数的近似值。

如果您经常计算此值(例如,在刷新的仪表板上),则记录规则替代方法可能会更有效,并且只需将count_values without() ("value", up)的值记录到一个新指标中,然后计算{{ 1}} / sum_over_time()置于该指标之上。