Prometheus 如果度量值在30分钟内未更改,则返回该值

Prometheus 如果度量值在30分钟内未更改,则返回该值,prometheus,promql,Prometheus,Promql,我有一个度量,用于保存运行进程的完成百分比。我试图构建一个查询,如果百分比在x分钟内没有改变,则返回百分比的值。我尝试使用changesprogress_percent[30m]==0,但它返回的是更改的数量,而不是度量值。我想知道这个过程是否停留在某个百分比上。您可以使用二进制运算符。采取和: vector1和vector2生成由vector1的元素组成的向量 vector2中的元素具有完全匹配的标签集。 其他元素被删除 就你而言: changes AND changes(progress_p

我有一个度量,用于保存运行进程的完成百分比。我试图构建一个查询,如果百分比在x分钟内没有改变,则返回百分比的值。我尝试使用changesprogress_percent[30m]==0,但它返回的是更改的数量,而不是度量值。我想知道这个过程是否停留在某个百分比上。

您可以使用二进制运算符。采取和:

vector1和vector2生成由vector1的元素组成的向量 vector2中的元素具有完全匹配的标签集。 其他元素被删除

就你而言:

changes AND changes(progress_percent[30m]) == 0

只有在las 30分钟内没有变化时,它才会返回变化。

谢谢@MichaelDoubez。利用你的线索,我在结尾使用了这个:

0<进度百分比<1,变更进度百分比[30m]==0

通过这种方式,我可以根据文档从左侧向量获得度量值:

度量名称和值从左侧向量带入

并确保右侧向量没有变化