У нас есть предупреждение, которое мы хотим запустить на основе предыдущих 5m
метрик (скажем, если оно выше 0).Однако, если показатель равен 0
, он не записывается в Прометей, и поэтому не возвращается для этого временного интервала.
В результате мы можем получить примерный набор данных:
-60m | -57m | -21m | -9m | -3m <<< Relative Time
1 , 0 , 1 , 0 , 1 <<< Data Returned
, что в конечном итоге приводит к срабатыванию оповещения каждый раз, когда показатель выше 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]
По какой-то причине он помещает «реальные» данные в началомассив (хотя мое время запуска задолго до 1539021420
) и продолжается с этой отметки времени вперед.
Как правильно, чтобы Прометей возвращал 0
для точек данных, которые могут не существовать?
Для ясности, это не вопрос управления оповещениями - я использую другой инструмент для оповещения об этих данных.