如何查询具有特定值和时间偏移的Prometheus向量?

时间:2019-04-16 18:18:45

标签: prometheus promql

在Prometheus中,我想查询过去的即时向量,其值等于1。我可以使用PromQL进行查询还是需要通过记录规则来实现?

直觉上,我尝试过类似的事情:

up{instance="192.168.0.100"} == 1 offset 30m

但是它给了我错误: “执行查询时出错:无效的参数'query':在char 39处解析错误:offset修饰符必须在即时或范围选择器的前面,但必须遵循* promql.NumberLiteral”

我认为这是一个操作员订单问题,因为offset是即时向量之前的部分。所以我加了括号:

(up{instance="192.168.0.100"} == 1) offset 30m

但是它给出了另一个错误: “执行查询时出错:参数'query'无效:在char 34处解析错误:无法解析剩余的输入“偏移量30m” ...”

所以我问是否有任何方法可以在30分钟前获得一个等于1的向量?我必须使用记录规则来实现这一目标吗?

1 个答案:

答案 0 :(得分:1)

不确定您的用例。但是尝试这样的事情

(up {instance =“ localhost:9090”,job =“ prometheus”}偏移30m)== 1