如何查询具有特定值和时间偏移量的 Prometheus 向量?
How to query Prometheus vectors with specific value and with time offset?
在 Prometheus 中,我想查询过去的值等于 1 的即时向量。我可以使用 PromQL 来实现还是需要使用记录规则来实现?
凭直觉,我尝试了类似的方法:
up{instance="192.168.0.100"} == 1 offset 30m
但它给了我错误:
"Error executing query: invalid parameter 'query': parse error at char 39: offset modifier must be preceded by an instant or range selector, but follows a *promql.NumberLiteral instead"
我认为这是操作员顺序问题,因为 offset
之前的部分是即时向量。所以我加了括号:
(up{instance="192.168.0.100"} == 1) offset 30m
但它给出了另一个错误:
"Error executing query: invalid parameter 'query': parse error at char 34: could not parse remaining input "偏移 30m"..."
所以我想问一下有没有什么办法可以得到一个30分钟前的时间值为1的vector?我必须使用记录规则来实现吗?
我不确定你的用例,但尝试这样的事情:
(up{instance="localhost:9090",job="prometheus"} offset 30m) == 1
在 Prometheus 中,我想查询过去的值等于 1 的即时向量。我可以使用 PromQL 来实现还是需要使用记录规则来实现?
凭直觉,我尝试了类似的方法:
up{instance="192.168.0.100"} == 1 offset 30m
但它给了我错误: "Error executing query: invalid parameter 'query': parse error at char 39: offset modifier must be preceded by an instant or range selector, but follows a *promql.NumberLiteral instead"
我认为这是操作员顺序问题,因为 offset
之前的部分是即时向量。所以我加了括号:
(up{instance="192.168.0.100"} == 1) offset 30m
但它给出了另一个错误: "Error executing query: invalid parameter 'query': parse error at char 34: could not parse remaining input "偏移 30m"..."
所以我想问一下有没有什么办法可以得到一个30分钟前的时间值为1的vector?我必须使用记录规则来实现吗?
我不确定你的用例,但尝试这样的事情:
(up{instance="localhost:9090",job="prometheus"} offset 30m) == 1