本文介绍了PromQL avg_over_time 用于非零值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图从仪表指标中获取 avg_over_time 值,但我只想从指标的非零值(或准确地说是高于零的值)中求平均值.

I am trying to get avg_over_time value from gauge metric, but I would want average only from the non-zero values of the metric (or values higher than zero, to be exact).

示例:

avg_over_time(foo[2d] > 0)

但我总是得到解析错误:二进制表达式必须只包含标量和即时向量类型

But I alwas get parse error:binary expression must contain only scalar and instant vector types

我尝试设置录制规则

expr: foo > 0

但不幸的是结果相同.

这在 PromQL 中可行吗?

推荐答案

您可以使用 子查询 2.7 以上的 Prometheus 版本:

You can use a sub-query with Prometheus version above 2.7:

avg_over_time((foo > 0)[2d:])

这篇关于PromQL avg_over_time 用于非零值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-17 00:25