Как правильно преобразовать отсутствующие точки данных в 0 в Prometheus? - PullRequest
0 голосов
/ 08 октября 2018

У нас есть предупреждение, которое мы хотим запустить на основе предыдущих 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 для точек данных, которые могут не существовать?

Для ясности, это не вопрос управления оповещениями - я использую другой инструмент для оповещения об этих данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...