如何忽略prometheus中的空数据集

时间:2017-12-19 12:32:43

标签: prometheus

计算所有数据集的最大分位数对我来说是一个问题:

查询

http_response_time{job=~"^(x|y)$", quantile="0.95",...}

结果

http_response_time{job="x",...} 0.26
http_response_time{job="y",...} NaN

这就是我尝试计算最大值的方法:

avg(http_response_time{job=~"^(x|y)$",...})

现在结果将是" NaN"。我怎么能忽略" NaN"结果(来自结果部分)?

提前THX!

更新0

指标是自制摘要指标。

更新1

使用prometheus 1.8版。

1 个答案:

答案 0 :(得分:2)

我没有使用NaN尝试这个,但您只需使用二进制operators按值过滤。由于NaN在数学上不等于NaN,您可以尝试这个技巧(因为响应时间应始终为正):

avg(http_response_time{job=~"^(x|y)$",...} >= 0)