Prometheus 如何查询大于值但包含系列向量中所有数据的普罗米修斯数据?

Prometheus 如何查询大于值但包含系列向量中所有数据的普罗米修斯数据?,prometheus,promql,Prometheus,Promql,我想这张照片说明了一切 我想在普罗米修斯中查询一个值大于.5的序列,但在序列中包含较低的值,这样图表就完整了。 这些是范围为0-1(十进制百分比/比率)的仪表指标 我希望图表中的所有线条都完整。 当前查询 avg_over_time((failure_percentage > .5)[10m:]) 我曾尝试过自联接和分组,但没有成功。正如我所知,使用PromQL无法返回超过给定值的时间序列的所有数据点 但这是可能的: 可以创建返回超过给定阈值的时间序列的所有点的: with ( f

我想这张照片说明了一切

我想在普罗米修斯中查询一个值大于.5的序列,但在序列中包含较低的值,这样图表就完整了。 这些是范围为0-1(十进制百分比/比率)的仪表指标 我希望图表中的所有线条都完整。 当前查询

avg_over_time((failure_percentage > .5)[10m:])

我曾尝试过自联接和分组,但没有成功。

正如我所知,使用PromQL无法返回超过给定值的时间序列的所有数据点

但这是可能的:

可以创建返回超过给定阈值的时间序列的所有点的:

with (
  f(q, threshold) = q if ((q > threshold) default 0)
)
f(failure_percentage, 0.5)

正如我所知,用PromQL返回超过给定值的时间序列的所有数据点是不可能的

但这是可能的:

可以创建返回超过给定阈值的时间序列的所有点的:

with (
  f(q, threshold) = q if ((q > threshold) default 0)
)
f(failure_percentage, 0.5)

在普罗米修斯斯莱克号上的一些人的帮助下,我用一种加入黑客的方法解决了这个问题

avg_over_time(failure_percentage[10m]) * ( (failure_percentage > 0.5) ^0 )
用户viq的原始评论(用于完整上下文和解释)

我想知道。。。。脑海中浮现的一个枯燥的把戏有点像

因为要使乘法起作用,双方需要精确匹配 标签,因此您只能得到与右侧匹配的结果, 对(我认为)应该只给出符合条件的结果, ^0应该使该值始终为1,这样您就生效了 公制*1 Maaaybe,未经测试


在普罗米修斯斯莱克号上的一些人的帮助下,我用一种加入黑客的方法解决了这个问题

avg_over_time(failure_percentage[10m]) * ( (failure_percentage > 0.5) ^0 )
用户viq的原始评论(用于完整上下文和解释)

我想知道。。。。脑海中浮现的一个枯燥的把戏有点像

因为要使乘法起作用,双方需要精确匹配 标签,因此您只能得到与右侧匹配的结果, 对(我认为)应该只给出符合条件的结果, ^0应该使该值始终为1,这样您就生效了 公制*1 Maaaybe,未经测试


这需要第三方数据库。这里的meThis选项不需要第三方数据库。我没有选择