Графана: подсчитать предупреждение для всех временных групп между и valid_from, и valid_to datetime (продолжительность / окно)
Мне нужно построить "активные" изменения во время их действия. Оповещения имеют поля valid_from и valid_to datetime. Есть ли способ построить / посчитать предупреждение в течение продолжительности? Например, я бы хотел, чтобы приведенное ниже предупреждение было активным в течение 24 часов (поскольку оно действительно в течение одного дня) и учитывалось в каждой временной группе в течение этого периода.
Оповещение: ST_RAID
Valid_from: 2019-02-25 02:18:13
Valid_to: 2019-02-26 02:18:13
Я пытался выбрать с
$__timeFrom() и $__timeTo() - которые выдвигают все оповещения влево или вправо от графика
$__timeGroup(dateColumn, $__interval) - делает то же самое при выборе UNIX_TIMESTAMP (valid_from)
$ __timeGroup (valid_from, интервал $ __, предыдущий) - кажется, держит счет правильно, но не заканчивается, когда встречается время valid_to, он заканчивается, когда появляется новое предупреждение и, следовательно, новый счет.
Я начинаю думать, что это может потребовать подзапроса с некоторыми готовыми данными или выбрать "если". Есть ли переменная Grafana для текущей временной группы или что-то еще, что я мог бы использовать в "select if"?
Мне также нужно проверить, очищено ли оповещение, но в данный момент я просто пытаюсь покрыть окно продолжительности.
Env:
Графана v5.4.3 (фиксация: 6539180)
mysql Ver 15.1 Distrib 5.5.60-MariaDB, для Linux (x86_64) с использованием readline 5.1
У меня нет возможности обновить базу данных mysql.
Пример данных ниже.
mysql> select alert_type, valid_from, valid_to, cleared from alerts;
+----------------------------------+---------------------+---------------------+---------------------+
| alert_type | valid_from | valid_to | cleared |
+----------------------------------+---------------------+---------------------+---------------------+
| ST_PROC_DOWN | 2019-02-25 02:18:13 | 2019-02-26 02:18:13 | NULL
Любые идеи будут высоко оценены?