В этой статье речь пойдет о том, как вывести для мониторинга — нужные показатели системы на графики, при этом не написав ни одной строчки кода. Используемое ПО распространяется свободно кроме сервера БД — это MS SQL сервер, развернутый в облачном сервисе MS Azure, который вы без труда можете заменить на любой другой.

Метеостанция снимает показатели температуры и влажности воздуха и в реальном режиме времени отправляет их на сервер MS Azure, который помещает эти данные в базу данных. Таким образом генерируется некоторый временной ряд, который предлагается мониторить с помощью Grafana и выводить на панель мониторинга администратора.



Задача работы метеостанции в данной статье не рассматривается, разберем полученные данные, для этого воспользуемся FastReport.




Вот так это хранится в БД.



Скачиваем с grafana.com и устанавливаем сервер Grafana, далее подключаемся к БД с данными.



Далее строим запрос для отражения временного ряда температуры:

SELECT 
  regdate as time, 
  Temperature as value, 
  'Temperature' as metric 
FROM weather 
WHERE $__timeFilter(regdate) 
ORDER BY regdate ASC 

В начале статьи говорилось о том, что программировать не придется, это действительно так тк предлагаемый образец запроса генерирует сама система. С одной стороны ничего программировать не нужно, а с другой для быстрого построения сложных запросов запрос легко модифицировать и “объяснить” системе на понятном ей языке что нужно построить.



Аналогичный запрос строится для влажности и сохраняется как dashboard:



В живую это выглядит так


Наблюдательный читатель сразу заметит неестественное поведения датчика влажности на верхнем графике:



Это дает возможность легко определить момент, в который датчик дал сбой или полностью сломался. Система Grafana позволяет отслеживать подобные ситуации с помощью алертов, в то время как найти данный момент в таблице БД значительно трудозатратней.



Рассмотренный подход позволяет быстро построить мониторинг различных показателей, система позволяет подключать различные плагины с предустановленными метриками и формами графиков, способных удовлетворить любые потребности.

Комментарии (3)


  1. dmitryrf
    19.04.2019 12:41

    image
    Температура в рублях? Оригинально! :)
    Теги слились в один.


    1. ufocombat Автор
      19.04.2019 14:56

      Все натуральное (так по умолчанию) зато без прекрас))))


  1. Naves
    19.04.2019 22:00

    Читаю статью, и посещают меня мысли:
    Метеоданные в MSSQL, ну ладно, почему бы и нет.
    Данные идут с weatherstation, ШТА? как они попадают в MSSQL? зачем тут проприетарная БД, а не повсеместный mysql/postgre, а запихиваются они как? поднят целый IIS-сервер с ASP что-ли.
    Grafana берет данные из MSSQL, занятно, полезный фактик, что есть прямой коннектор без всяких ODBC или JDBC.
    Далее читаю: разберем полученные данные, для этого воспользуемся FastReport.
    И тут у меня шаблон затрещал, а куда делась штатная студия SQL Server Management Studio, почему не бесплатный HeidiSQL, в конце концов командная строка osql. Да, через Excel быстрее выдернуть данные.
    Судя по видео вы потратили две минуты с лишним, чтобы отобразить содержимое таблицы. И тут шаблон порвался окончательно.