在 Prometheus 中,我想查询过去的即时向量,其值等于 1。我可以用 PromQL 做到这一点,还是需要用记录规则来实现?
直觉上,我尝试了类似的方法:
up{instance="192.168.0.100"} == 1 offset 30m
但它给了我错误:“执行查询时出错:无效参数'查询':在字符 39 处解析错误:偏移量修饰符必须在一个即时或范围选择器之前,但在 *promql.NumberLiteral 之后”
我认为这是一个操作员订单问题,因为之前的部分offset
是一个即时向量。所以我加了括号:
(up{instance="192.168.0.100"} == 1) offset 30m
但它给出了另一个错误:“执行查询时出错:无效参数'查询':在字符 34 处解析错误:无法解析剩余输入“偏移 30m”...”
所以我问是否有任何方法可以在 30 分钟前获得一个值等于 1 的向量?我必须使用录制规则来实现这一点吗?