我正在尝试专门返回特定时间段之间的指标。我试图根据晚上或白天的不同,对具有不同水印的特定指标发出警报。
当我查询白天指标时,它工作正常:sum(increase(some_counter_total[5m])) and hour() >4 <20
这当然可以工作,因为这bigger than 4 but smaller than 23是一个有效范围。
然而,当一个人想在夜间执行此操作时,对于相反的时间段,这会变得更有趣:sum(increase(some_counter_total[5m])) and hour() >20 <4
第一个条件bigger then 20已经消除了以下条件smaller then 4。颠倒顺序时也是如此。
我尝试了一些不同的 using 组合or,但我一定做错了,因为我从未让查询正常工作。理想情况下,我想我会寻找一种进行反向查询的方法sum(increase(some_counter_total[5m])) and WHEN NOT hour() >4 <20。
请注意,普罗米修斯对数据向量进行操作。尝试使用否定(andvs. unless)来排除您不想要的时间。
白天时间:
sum(increase(some_counter_total[5m])) and hour() >=9 <21
Run Code Online (Sandbox Code Playgroud)
夜间时间:
sum(increase(some_counter_total[5m])) unless hour() >=9 <21
Run Code Online (Sandbox Code Playgroud)
这可能不是最有效的解决方案,但我找不到其他方法,例如您直接的建议或类似的方法WHERE value IN (4, 5, 6, <...night time hours...>))。
| 归档时间: |
|
| 查看次数: |
2208 次 |
| 最近记录: |