Мониторинг температуры и управление устройствами в системе ZabbixВ предыдущих статьях ([1], [2], [3]) были показаны реализация мониторинга и управление температурой с помощью устройств NetPing и программных пакетов MRTG и Cacti. Однако оба варианта не свободны от недостатков, так например, MRTG не имеет удобного инструмента настройки и не позволяет штатными средствами ограничить доступ пользователей к графикам, а Cacti хотя и свободен от указанных выше недостатков, но не имеет поддержки триггеров и потому исключает возможность своевременной обработки исключительных ситуаций. От всех этих недостатков свободна система мониторинга Zabbix. Она проста в установке, имеет простой интерфейс управления, поддержку триггеров и позволяет управлять просмотром графиков пользователями. Единственным минусом системы является полная невозможность работы с отрицательными значениями показателей, но если говорить о мониторинге температуры в помещении, где температура обычно положительная, этот недостаток мешать не будет. В этой статье будет показано, как организовать мониторинг температуры с использованием устройств NetPing TS v2 и Zabbix, а также настроить своевременное оповещение пользователей о критических ситуациях. Переходим к развёртыванию нашего решения. Для начала опишем начальные условия:
Первым делом, установим на сервер Zabbix (нам понадобиться zabbix-server и web-интерфейс к нему):
В процессе установки потребуется скачать примерно пятьдесят пять мегабайт (если говорить о "свежеустановленном" сервере) и установить ряд дополнительных необходимых пакетов (в частности apache2 и mysql-server). Также во время установки будет задан ряд вопросов. Почти на все можно выбрать ответ по умолчанию, кроме пароля для доступа zabbix к его базе данных, в данном случае лучше придумать пароль самому, потому что если не заполнять это поле - пароль будет сгенерирован автоматически, причём разный для сервера и веб-интерфейса (хотя должен быть одинаковый!), и система не будет работать. После установки нужно открыть в браузере адрес: "http://192.168.2.230/zabbix". Если при открытии страницы будет выдано информационное сообщение о том, что не установлена переменная date.timezone в файле php.ini, то нужно добавить в файл /etc/php5/apache2/php.ini в секцию Date строку:
Разумеется, что часовой пояс нужно указывать свой (список возможных часовых поясов можно найти в директории /usr/share/zoneinfo). Далее необходимо перезапустить web-сервер:
Далее обновляем страничку и авторизуемся в системе, используя логин «Admin» и пароль «zabbix». Положительной особенностью системы Zabbix является возможность использования шаблонов наблюдаемых хостов, которые можно экспортировать/импортировать, поэтому для упрощения задачи был подготовлен готовый шаблон, который можно скачать тут (Зеркало). Остаётся только импортировать его в систему. Для импорта шаблона нужно перейти в раздел «Configuration» -> «Export/Import» и выбрать в выпадающем меню пункт «Import». В появившемся диалоге нужно выбрать наш файл шаблона и нажать кнопку «Import», после этого должно появится сообщение об успешной загрузке шаблона. Теперь создадим хост, который будет наблюдаться по этому шаблону. Для этого переходим в раздел «Configuration» -> «Hosts», в выпадающем меню выбираем пункт «Hosts» и нажимаем кнопку «Create Host», открывшуюся таблицу заполняем следующим образом: 1
Остальные параметры оставляем по умолчанию и жмём «Save», после чего должно появится сообщение об успешном добавлении хоста, если же будет показано сообщение об ошибке - внимательно проверьте правильность заполнения формы. Убедиться, что началось наблюдение за устройством, можно в разделе «Monitoring» -> «Overview» -> «Data». Если клинкуть по текущему значению температуры, то можно увидеть примерно вот такой график: Зелёная линия на графике показывает среднее значение температуры, а жёлтое поле - колебания этого значения. Всё, мониторинг температуры у нас есть. Какими могут быть следующие шаги? Ну, во-первых, это сведение нескольких графиков в один (чтобы можно было наблюдать за температурой сразу в нескольких точках, а также делать сравнительные оценки), а во-вторых, мы можем настроить оповещения об отклонении температуры от нормы. Для начала попробуем сделать сводный график с двух сенсоров, для этого переходим в раздел «Configuration» -> «Graphs» и нажимаем кнопку «Create Graph». В появившейся форме нужно ввести имя графика, например, «Term1 vs Term2» и добавить на график два элемента: «NetPing TS v2: Term on sensor 1» и «NetPing TS v2: Term on sensor 2». Добавление элементов сделано интуитивно понятным, и потому заострять на нём внимание мы не будем. После добавления элементов нужно нажать кнопку «Save», и график будет создан. Чтобы просмотреть график нужно перейти в раздел «Monitoring» -> «Graphs» и выбрать его в списке. Выглядеть сводный график будет примерно вот так: Закончив со сводными графиками, перейдём к настройке оповещений, для начала создадим триггер, который будет срабатывать, когда температура на первом сенсоре превысит отметку в двадцать девять градусов, для этого идём в раздел «Configuration» -> «Triggers» и нажимаем кнопку «Create Trigger». Появившуюся форму нужно заполнить следующим образом:
Далее нажимаем кнопку «Save» и получаем сообщение об успешном создании триггера. Состояние триггера можно просмотреть на странице «Monitoring» -> «Overview», выбрав в выпадающих меню группу, в которой находится наше устройство и тип отображения «Triggers». Если мы хотим получать состояние триггера по e-mail/Jabber/SMS, то для начала зададим средства связи для нашего пользователя, можем так же создать отдельного пользователя и назначать средства связи ему. Средства связи задаются в разделе «Administration» -> «Users». Там нужно выбрать текущего пользователя и в открывшейся форме заполнить раздел «Media», добавив новые средства связи, следует отметить, что выбирая уровни важности оповещений в разделе «Use if severity», как минимум, нужно поставить галочку напротив того уровня, который был задан при создании триггера в разделе «Severity». Кроме того нужно ещё посетить раздел «Administration» -> «Media types» и сконфигурировать средства отправки сообщений. Рассмотрение этих настроек выходит за рамки статьи, так что если Вы не знакомы с ними, рекомендуем обратиться к официальной документации Zabbix. Закончив настройку средств оповещения, настроим отправку состояний заданного триггера указанному пользователю, для этого переходим в «Configuration» -> «Actions» и нажимаем кнопку «Create Action». Открывшуюся форму заполняем следующим образом: Закончив заполнение формы, жмём кнопку «Save» и получаем сообщение об успешном создании действия. Теперь попробуем протестировать нашу систему. Если первый датчик находится сейчас при комнатной температуре, то мы можем просто зажать его пальцаи, и нагрев до температуры человеческого тела, которая заведомо выше порога в двадцать девять градусов, в течение нескольких минут, получить информационное сообщение о перегреве. После того как мы отпустим датчик, он начнёт постепенно охлаждаться, и через некоторое время триггер выключится. Если при создании действия была установлена галочка «Recovery message», то об этом так же придёт сообщение. На этом всё. Приятной работы! Автор: Вадим Калинников E-mail: moose@ylsoftware.com
Корректор: Фролова Мария E-mail: smei.i.inaja@gmail.com |
.png)