Xor

<<< Назад

Прикручиваем Grafana к Мажордому

Обзор и первая попытка использования

Grafana (https://grafana.com/) — это платформа с открытым исходным кодом для визуализации, мониторинга и анализа данных.
Установка под разные платформы хорошо описана на сайте, поэтому не буду на ней останавливаться.
Здесь только первая попытка использования Графаны в МДМ без многих ее фич - алертов по выходу мониторящихся данных из заданных пределов (заявлена поддержка телеги и емэйла со скринами), мониторинга системы, mySQL и пр.

Хотелось увидеть исторические данные МДМ в новом интерфейсе и вот, что получилось.

После установки Графана у меня на семерке запустилась сервисом и стартует свой сервер на 3000 порту.
В браузере набираем <адрес_сервера:3000>, вводим admin/admin и мы в Графане.

Для подключения к МДМ используем источник данных mysql, заполняем поля для подключения и жмем сохранить и тест.
Источник готов.
pic1

Дальше создаем дашборд и в ней панель.
Чтобы панель начала работать, она должна получать данные из МДМ. Желательно исторические, но необязательно.
Построитель запросов, встроенный в пункт Qwery, мне не подошел и я использую в нем пункт Edit SQL.
pic2

Туда я вставляю готовый запрос. Кстати, запрос для исторических данных у меня один на все панели примера, от панели к панели там меняются только айдишники свойств - для Температуры одни, для Влажности - другие, и т.д.

Перечень айдишников я беру с помощью запроса в phpAdmin:

SELECT
distinct  phistory.`VALUE_ID`,pvalues.property_name as "metric"
FROM phistory
JOIN `pvalues` ON pvalues.id = phistory.`VALUE_ID`
where pvalues.property_name like '%Temperature'

А вот запрос для панели Графаны:

SELECT
  $__time(phistory.`ADDED`),
  pvalues.property_name as "metric",
  (phistory.VALUE+0.0) as value
FROM phistory
JOIN `pvalues` ON pvalues.id = phistory.`VALUE_ID`
WHERE $__timeFilter(phistory.`ADDED`) and value_id in (1261,1262,1264,1272,1282,1291,1331,3709,4148,6208)
ORDER BY  phistory.`ADDED`

Меняем для температуры вот эту строку value_id in (1261,1262,1264,1272,1282,1291,1331,3709,4148,6208), подставляя в скобки значения из первого запроса.

Знаю, что можно накрутить запрос и получше, но для моей задачи тестирования зашло и так.
$__time и $__timeFilter - это макросы Графаны.
Первый переводит столбец к виду UNIX_TIMESTAMP(столбец) as time_sec и, в принципе, это можно написать и самому, но вот второй превращается в $__timeFilter(column) -> column BETWEEN FROM_UNIXTIME(1492750877) AND FROM_UNIXTIME(1492750877), где юникс-время подставляется самой Графаной для выборки интервала времени.

Далее выбираем визуализацию - по умолчанию доступна куча - график, текстовое представление, барграфик, спидометр, таблица, и т.д.
При выборе визуализации открывается ее меню настроек.
Для графика - точка, линия, столбец/ цвет, толщина линии, заливка области, градиент/ стек ...
настройка осей - до двух по У, и одной по Х.
Настройка диапазонов по У и по Х (можно, например, раскрасить выходные или период льготного тарифа)

Все очень очевидно и результаты можно посмотреть сразу после выбора опции до сохранения.

После создания панелей на дашборде можно задать время обновления и диапазон просмотра.

С налета не получилось отобразить страничку в домашних страницах(

ps. Пока открываю в меню через ссылку.
Удалось настроить автоизвещения - алерты. Они устанавливаются в исторических панелях (Там есть пункт с колокольчиком).
alert1
Интересно с каналами доставки алертов. Из знакомого вижу PushOver, email и телеграм. PushOver не использую, телеграм не завелся(, но всё решаемо с помощью емэйла.
alert2
Пришлось залезть в конфиг Графаны и настроить smtp.
smtp
Для связи использую модуль SmtpCatcher, его указал в качестве сервера почты для Графаны. В модуле по приходу письма от Графаны уже скриптом можно отправлять алерт с картинкой в телегу))

Обсуждение (3) (12)

Смотрите так же:
16.11.2019 По следам наших выступлений - сколько мы наэкономили?
04.11.2019 Группа как объект - экономим на коде - 2
11.10.2019 Группа как объект - экономим на коде
25.09.2019 Если у вас нет телеги...
11.09.2019 Датчик присутствия из ип камеры
30.07.2019 Win-платформа-замена ffmpeg для получения скриншотов из rstp - потока
24.06.2019 Форматированный отчет в телеграм - имитация таблицы
30.04.2019 Используем зомбо-ящик в Мажордомо
24.03.2019 О среднем в Мажордомо
31.10.2018 Об "обделённых" пользователях Win-систем -- с точки зрения кэширования winTTS сообщений
16.09.2018 Перезагрузка Мажордомо в Win-системах

Домодедово, Россия

На форуме: xor