Как-то очень незаметно в мою жизнь вошли системы мониторинга. Сначала простенькие измерители температуры и влажности поселились на даче, потом они расползлись на городскую квартиру, к ним добавились датчики давления, освещенности, углекислого газа, ионизирующего излучения. Удалось вовремя остановиться, но на рабочем месте датчики моментально покрыли все критическое технологическое оборудование. В рабочем процессе получать данные о его состоянии в режиме онлайн уже благо, а иметь возможность проанализировать исторические данные, например, за годовой период вообще манна небесная. Осознание этой простой истины приходит не сразу, но постепенно добирается и до самого консервативного работника.
Сами датчики, как правило, реализуются на основе плат ESP8266. Они недороги, в меру производительны и позволяют без лишних затрат отправлять данные по Wi-Fi. А вот место, куда данные отправляются не так просто, по крайней мере, в моих случаях. ESP8266 подключившись к Wi-Fi сети, отправляет данные по протоколу MQTT на MQTT сервер (здесь и далее, все ПО установлено на одном сервере). Оттуда данные забирает Node-RED, где происходит их предварительная фильтрация, проверка и обработка. Часть данных напрямую отправляются во временную базу данных Influx второй версии (хотя в отдельных локациях все еще остались установки первой версии Influx), отдельные данные подвергаются трансформации, отрабатывает простенькая система оповещений (alerting). В общем на Node-RED работает бизнес-логика управления получаемыми данными от системы датчиков, генерируются события. То, что попадает в Influx, может быть обработано в самой базе данных. В Influx есть система визуализации и алертинга. Но для визуализации я использую существенно более мощный инструмент — Grafana.
Grafana предназначена непосредственно для визуализации данных в виде графиков, диаграмм, таблиц, показометров и любым другим доступным для понимания человеком способом. Свою работу система выполняет очень хорошо, поэтому ее все и используют, благо доступны как корпоративные версии, так и свободные. Помимо графиков в Grafana присутствует еще одна важная составляющая — алертинг (alerting). Это подсистема, которая по заданным правилам анализирует данные и генерирует предупреждения в виде оповещений (alerts). И собственно именно о ней дальнейший сказ.
Основной вопрос к alerting-у в Grafana — очень интересно, но ничего не понятно. Особенно после модернизации самой системы генерации предупреждений. Она стала существенно мощнее и более непонятной. Причем характерно, что чтение документации не делает систему предупреждений (ну или оповещений, кому как нравится) более понятной, так как в документации есть все, кроме того, что действительно нужно для работы. Поэтому большинство пользователей подсистемы начинают осваивать ее методом тыка, что несколько тормозит процесс внедрения, а в некоторых случая озадачивает.
Читать далее ...