MrD*_*Duk 6 time-series prometheus
我们有一个警报,我们希望根据之前5m的指标(例如,如果它高于 0)触发。但是,如果指标是,0它不会写入普罗米修斯,因此不会在该时间段内返回。
结果是我们可能有一个示例数据集:
-60m | -57m | -21m | -9m | -3m <<< Relative Time
1 , 0 , 1 , 0 , 1 <<< Data Returned
Run Code Online (Sandbox Code Playgroud)
这最终导致每次指标高于0时触发警报,而不仅仅是当它高于0时5m。我已经尝试将我们的查询OR on() vector()添加到末尾,但它对返回的数据集做了一些有趣的事情:
values:Array[12]
0:Array[1539021420,0.16666666666666666]
1:Array[1539021480,0]
2:Array[1539021540,0]
3:Array[1539021600,0]
4:Array[1539021660,0]
5:Array[1539021720,0]
6:Array[1539021780,0]
7:Array[1539021840,0]
8:Array[1539021900,0]
9:Array[1539021960,0]
10:Array[1539022020,0]
11:Array[1539022080,0]
Run Code Online (Sandbox Code Playgroud)
出于某种原因,它将“真实”数据放在数组的前面(即使我的开始时间早于1539021420)并从该时间戳向前继续。
让 Prometheus 返回0可能不存在的数据点的正确方法是什么?
需要明确的是,这不是警报管理器的问题——我正在使用不同的工具来对这些数据发出警报。