Графана / Графит - метрика времени была в каком-то состоянии

У меня есть метрика «monitor.status» со значениями 0 и 1. 0 указывает на неработающее состояние службы, а 1 - на рабочее состояние.

Я хочу отображать время простоя в секундах на панели Single stat. Как получить метрику времени в состоянии 0 и отобразить ее?

Пример:

Value - Timestamp (just h:m to simplify)
1 - 05:00
1 - 05:05
0 - 05:07
0 - 05:09
1 - 05:11
0 - 05:16
0 - 05:18

Here metric was is "0" state for 4 minutes. This is the value I'd like to get.

Есть ли у вас предложения, как правильно отслеживать время простоя в графите?


person Alex.Sh    schedule 19.05.2017    source источник
comment
что означает это состояние 0 в течение 4 минут? не могли бы вы предоставить подробности? Каков ваш запрос и чего вы ожидаете /   -  person Sriram    schedule 24.05.2017
comment
0 и 1 - просто значения метрики. Я хотел бы знать, как долго метрика находилась в значении 0 (период), в этом примере это 4 минуты (05:07 - 05:09 и 05:16 - 05:18, всего 4 минуты)   -  person Alex.Sh    schedule 31.05.2017


Ответы (1)


В данном конкретном случае это может быть, например,

integral(divideSeries(monitor.status, countSeries(monitor.status)))

Пример: Если monitor.status равен [0,0,1,1,1,1,1,0,0,1], тогда countSeries(monitor.status) = [10,10,10,10,10,10,10,10,10,10] и divideSeries(monitor.status, countSeries(monitor.status)) = [0,0,0.1,0.1,0.1,0.1,0.1,0,0,0.1] и integral() из вышеперечисленных серий дадут вам 0.6 в конце результата, который покажет вам статистика. Только не забудьте поменять Max data points в панели статистики на 1, иначе вы получите меньше 0,6.

person deniszh    schedule 19.05.2017
comment
Ах, и вы должны установить Временной диапазон для панели статистики для промежутка времени вашего расчетного периода SLA. - person deniszh; 19.05.2017
comment
Я отредактировал первоначальное описание. Я пытаюсь получить метрику продолжительности в каком-то состоянии на основе ее временных меток. - person Alex.Sh; 20.05.2017