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