Техническое задание: Круговая диаграмма состояний оборудования в Grafana
Контекст
Развернута мониторинг-система на базе стека: Telegraf (сбор данных), InfluxDB (хранилище временных рядов) и Grafana OSS (визуализация) на платформе Wirenboard. Система функционирует, данные с оборудования записываются.
Цель
Создать в Grafana круговую диаграмму (Pie Chart), которая наглядно покажет, какую долю времени за выбранный период оборудование (компрессор) находилось в различных состояниях. Результат должен отображаться в процентах.
Исходные данные и логика
Данные поступают из MQTT-топиков, которые обновляются по событию (при изменении состояния).
Состояния и их приоритеты
- Авария (красный цвет, высший приоритет): Активно, если выполняется одно из условий:
- IN5 = 0
- ИЛИ IN2 = 1
- ИЛИ IN3 = 1
- ИЛИ IN4 = 1
- Работает (зеленый цвет): Активно, если IN1 = 1 и условие "Авария" не выполняется.
- Простаивает (серый цвет): Активно, если IN1 = 0 и условие "Авария" не выполняется.
Требования к реализации
- Создать запрос (query) в Grafana к данным в InfluxDB, который корректно интерпретирует логику состояний с учетом приоритетов.
- Настроить визуализацию типа "Pie Chart".
- Доля каждого состояния должна рассчитываться как процент от общего времени выбранного интервала.
- Диаграмма должна быть интерактивной: позволять выбирать период времени через стандартный селектор Grafana.
- Для каждого сектора диаграммы задать соответствующий цвет (зеленый, серый, красный).
Ожидаемый результат
Готовая панель в Grafana, где пользователь, выбрав временной диапазон (час, день, неделя), мгновенно видит процентное распределение времени работы оборудования по трем состояниям.