Метеостанция снимает показатели температуры и влажности воздуха и в реальном режиме времени отправляет их на сервер MS Azure, который помещает эти данные в базу данных. Таким образом генерируется некоторый временной ряд, который предлагается мониторить с помощью Grafana и выводить на панель мониторинга администратора.
![](https://habrastorage.org/webt/gy/ba/h2/gybah2-o9ze0uliw25a6te1h8za.png)
Задача работы метеостанции в данной статье не рассматривается, разберем полученные данные, для этого воспользуемся FastReport.
![](https://habrastorage.org/webt/mi/mj/w7/mimjw7w7mz5bte2oq9_qatjecmy.png)
Вот так это хранится в БД.
![](https://habrastorage.org/webt/n5/zj/r-/n5zjr-7b0l3q3ine2cy0h8pb8c8.png)
Скачиваем с grafana.com и устанавливаем сервер Grafana, далее подключаемся к БД с данными.
![](https://habrastorage.org/webt/l6/b7/eg/l6b7egzdj4odu5_w68lcsbvzv3c.png)
Далее строим запрос для отражения временного ряда температуры:
SELECT
regdate as time,
Temperature as value,
'Temperature' as metric
FROM weather
WHERE $__timeFilter(regdate)
ORDER BY regdate ASC
В начале статьи говорилось о том, что программировать не придется, это действительно так тк предлагаемый образец запроса генерирует сама система. С одной стороны ничего программировать не нужно, а с другой для быстрого построения сложных запросов запрос легко модифицировать и “объяснить” системе на понятном ей языке что нужно построить.
![](https://habrastorage.org/webt/ew/30/b-/ew30b-khnd-mu_tyu0lcc5pipwu.png)
Аналогичный запрос строится для влажности и сохраняется как dashboard:
![](https://habrastorage.org/webt/fy/sd/qz/fysdqzjalgdyk70ca45d4yg9cf8.png)
В живую это выглядит так
Наблюдательный читатель сразу заметит неестественное поведения датчика влажности на верхнем графике:
![](https://habrastorage.org/webt/q9/59/hx/q959hxu7vp1gtxwpz1njnvarkxs.png)
Это дает возможность легко определить момент, в который датчик дал сбой или полностью сломался. Система Grafana позволяет отслеживать подобные ситуации с помощью алертов, в то время как найти данный момент в таблице БД значительно трудозатратней.
![](https://habrastorage.org/webt/l-/_s/ri/l-_sri6_4kbtbiu5ymc8ktzywqq.png)
Рассмотренный подход позволяет быстро построить мониторинг различных показателей, система позволяет подключать различные плагины с предустановленными метриками и формами графиков, способных удовлетворить любые потребности.
Комментарии (3)
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 быстрее выдернуть данные.
Судя по видео вы потратили две минуты с лишним, чтобы отобразить содержимое таблицы. И тут шаблон порвался окончательно.
dmitryrf
Температура в рублях? Оригинально! :)
Теги слились в один.
ufocombat Автор
Все натуральное (так по умолчанию) зато без прекрас))))