Подсчитайте, сколько раз произошло событие или была указана метрика с помощью PromQL.

Я использую Victoria Metrics для отслеживания устройств IOT. Каждый раз, когда устройство подключается / отключается, я вставляю метрику в Victoria Metrics. Имя моей метрики - devcon_s. я могу запрашивать данные, используя это - devcon_s {device_id = something}

Но я хочу знать, как часто устройство отключается за день. Я получаю такие запросы - sum_over_time(count_values without(kd_id) ("value", devcon_s{kd_id="something"} == 0)[1d:]) или

count_over_time((devcon_s{kd_id="something"} == 0)[1d:])

С шагом, равным 1d или 1h. Но он не дает мне фактического количества подсчетов, о котором было сообщено о событии, а что-то еще, что для меня не имеет смысла. Я делаю что-то неправильно ? Или невозможно посчитать фактическое количество значений в promQL


person Daga Arihant    schedule 19.11.2020    source источник


Ответы (1)


MetricsQL предоставляет функцию count_le_over_time(m[d], le), которая возвращает количество точек необработанных данных, значения которых меньше или равны le на временном диапазоне [d] для каждого временного ряда, совпадающего с m.

Следующий запрос должен вернуть количество точек необработанных данных со значением ‹= 0 за последний день:

count_le_over_time(devcon_s{k_id="something"}[1d])
person valyala    schedule 20.11.2020