本文介绍了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 用于非零值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!