Примеры применения
13.09.2013

Мониторинг температуры и управление устройствами в системе Zabbix

Мониторинг температуры и управление устройствами в системе Zabbix

В предыдущих статьях были показаны реализация мониторинга и управление температурой с помощью устройств NetPing и программных пакетов MRTG и Cacti. Однако оба варианта несвободны от недостатков. Так например, MRTG не имеет удобного инструмента настройки и не позволяет штатными средствами ограничить доступ пользователей к графикам, а Cacti не имеет поддержки триггеров и потому исключает возможность своевременной обработки исключительных ситуаций. От всех этих недостатков свободна система мониторинга Zabbix. Она проста в установке, имеет простой интерфейс управления, поддержку триггеров и позволяет управлять просмотром графиков пользователями. Единственным минусом системы является полная невозможность работы с отрицательными значениями показателей, но, если говорить о мониторинге температуры в помещении, где температура обычно положительная, этот недостаток мешать не будет.

В этой статье будет показано, как организовать мониторинг температуры с использованием устройств NetPing TS v2 и Zabbix, а также настроить своевременное оповещение пользователей о критических ситуациях.
Переходим к развёртыванию нашего решения. Для начала опишем начальные условия:

  • Сервер мониторинга под управлением Ubuntu 9.04 Server, который имеет IP-адрес 192.168.2.230;
  • Устройство NetPing TS v2, имеющее IP-адрес 192.168.2.10, и SNMP-Community SWITCH, доступ к которому разрешён, как минимум, с сервера мониторинга.

Первым делом, установим на сервер Zabbix (нам понадобиться zabbix-server и web-интерфейс к нему):

apt-get install zabbix-server-mysql zabbix-frontend-php

В процессе установки потребуется скачать примерно 55 мегабайт и установить ряд дополнительных необходимых пакетов (в частности apache2 и mysql-server). Также во время установки будет задан ряд вопросов. Почти на все можно выбрать ответ по умолчанию, кроме пароля для доступа Zabbix к его базе данных. В данном случае лучше придумать пароль самому, потому что если не заполнять это поле - пароль будет сгенерирован автоматически, причём разный для сервера и web-интерфейса (хотя должен быть одинаковый!), и система не будет работать.

После установки нужно открыть в браузере адрес: "http://192.168.2.230/zabbix". Если при открытии страницы будет выдано информационное сообщение о том, что не установлена переменная date.timezone в файле php.ini, то нужно добавить в файл /etc/php5/apache2/php.ini в секцию Date строку:

date.timezone = "Europe/Moscow"

Разумеется, часовой пояс нужно указывать свой (список возможных часовых поясов можно найти в директории /usr/share/zoneinfo). Далее необходимо перезапустить web-сервер:

invoke-rc.d apache2 restart

Далее обновляем страничку и авторизуемся в системе, используя логин «Admin» и пароль «zabbix». 

Плюсом системы Zabbix является возможность использования шаблонов наблюдаемых хостов, которые можно экспортировать/импортировать, поэтому для упрощения задачи был подготовлен готовый шаблон, который можно скачать тут. Остаётся только импортировать его в систему. Для импорта шаблона нужно перейти в раздел «Configuration» -> «Export/Import» и выбрать в выпадающем меню пункт «Import». В появившемся диалоге нужно выбрать наш файл шаблона и нажать кнопку «Import», после этого должно появится сообщение об успешной загрузке шаблона.

Теперь создадим хост, который будет наблюдаться по этому шаблону. Для этого переходим в раздел «Configuration» -> «Hosts», в выпадающем меню выбираем пункт «Hosts» и нажимаем кнопку «Create Host». Открывшуюся таблицу заполняем следующим образом:

Параметр

Значение

Name

"Человеческое" имя хоста, например, «NetPing TS v2».

In Groups

Эта группа полей используется для выбора группы, в которой будет находиться хост. Выберите одну или несколько групп и/или создайте новую, используя поле «New group».

DNS name

Лучше оставить пустым.

IP address

192.168.2.10

Connect to

IP address.

Port

161

Monitored by proxy

(no proxy)

Status

Monitored

Link with Template

Здесь надо выбрать шаблон «Template_NetPing_TS_v2».

Остальные параметры оставляем по умолчанию и жмём «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» и выбрать его в списке. Выглядеть сводный график будет примерно вот так:

Закончив со сводными графиками, перейдём к настройке оповещений. Для начала создадим триггер, который будет срабатывать при превышении температуры порого в 29 градусов на первом сенсоре. Для этого идём в раздел «Configuration» -> «Triggers» и нажимаем кнопку «Create Trigger». Появившуюся форму нужно заполнить следующим образом:

Параметр

Значение

Name

Название триггера. Например, «High temperature on sensor 1».

Expression

Тут надо добавить выражение "{NetPing TS v2:SWITCH_1.last(0)}>29", которое означает, что триггер включается, когда температура на первом сенсоре нашего устройства превышает отметку в 29 градусов. В принципе, можно задать любое условие. Для этого надо воспользоваться кнопкой «Insert». Она выдаёт мастер создания выражений.

The trigger depends on

Здесь нужно указывать зависимости триггера. В данном случае их нет.

Event generation

Normal

Severity

Уровень важности триггера. Например, «Warning».

Comments

Комментарии к триггеру. Можно оставить это поле пустым.

URL

Адрес с дополнительной информацией о триггере. В данном случае лучше оставить пустым.

Disabled

Если поставить галочку - триггер будет отключен. Нам этого не нужно, так что оставляем как есть.

Далее нажимаем кнопку «Save» и получаем сообщение об успешном создании триггера. Состояние триггера можно просмотреть на странице «Monitoring» -> «Overview», выбрав в выпадающем меню группу, в которой находится наше устройство, и тип отображения «Triggers». 

Если мы хотим получать состояние триггера по e-mail/Jabber/SMS, то для начала зададим средства связи для нашего пользователя. Можем также создать отдельного пользователя и назначать средства связи ему.
Средства связи задаются в разделе «Administration» -> «Users». Там нужно выбрать текущего пользователя и в открывшейся форме заполнить раздел «Media», добавив новые средства связи. Следует отметить, что, выбирая уровни важности оповещений в разделе «Use if severity», как минимум, нужно поставить галочку напротив того уровня, который был задан при создании триггера в разделе «Severity».

Кроме того, нужно ещё посетить раздел «Administration» -> «Media types» и сконфигурировать средства отправки сообщений. Рассмотрение этих настроек выходит за рамки статьи, так что если Вы не знакомы с ними, рекомендуем обратиться к официальной документации Zabbix.

Закончив настройку средств оповещения, настроим отправку состояний заданного триггера указанному пользователю. Для этого переходим в «Configuration» -> «Actions» и нажимаем кнопку «Create Action». Открывшуюся форму заполняем следующим образом:

Параметр

Значение

Name

Имя триггера. Например, «High term on sensor 1».

Event source

Triggers

Default subject

Тема отправляемого письма. Можно оставить по умолчанию.

Default message

Тело отправляемого письма/SMS/сообщения в Jabber. Можно оставить по умолчанию.

Recovery message

Поставьте галочку, если хотите получать оповещении о возврате триггера в исходное состояние. Если включить, то заполните поля «Recovery subject» и «Recovery message» по аналогии с «Default message» и «Default subject».

Status

Enabled

Action conditions

Здесь нужно создать хотя бы одно условие, при выполнении которого будет отсылаться сообщение. В нашем случае нужно создать такое условие: "Trigger = 'High temperature on sensor 1'", для этого нужно нажать кнопку «New» и следовать подсказкам мастера. Закончив создание условия, нужно добавить его, нажав кнопку «Add».

Action operations

Описываем действие. Необходимо воспользоваться мастером создания действий и создать действие вроде "Send message to User 'Admin'". Подробнее опять же читайте в документации.

Закончив заполнение формы, жмём кнопку «Save» и получаем сообщение об успешном создании действия. Теперь попробуем протестировать нашу систему. Если первый датчик находится сейчас при комнатной температуре, то мы можем просто зажать его пальцами, и, нагрев до температуры человеческого тела в течение нескольких минут, получить информационное сообщение о перегреве. 

После того, как мы отпустим датчик, он начнёт постепенно охлаждаться, и через некоторое время триггер выключится. Если при создании действия была установлена галочка «Recovery message», то об этом придёт сообщение.

На этом всё. Приятной работы!
 

Автор: Вадим Калинников

Корректор: Фролова Мария


  • Все устройства

Основные теги


Каталог устойств мониторинг серверных комнат и шкафов
Все устройства
Устройство UniPing v3
Устройство UniPing server solution v3/SMS
Устройство NetPing 2/PWR-220 v1/SMS
Устройство NetPing IO v2
Устройства NetPing
Каталог датчиков для устройств NetPing
Устройство NetPing 8/PWR-220 v3/SMS
Устройство NetPing 2/PWR-220 v3/ETH
Устройство NetPing 2/PWR-220 v2/SMS
Устройство NetPing 4/PWR-220 v3/SMS
Устройство NetPing SMS
Устройство NetPing /PWR-220 v3/ETH
Адаптер WiFi VAP11N
Коммутатор PS104GT
Устройство NetPing Mini-UPS
Коммутатор NP-SM4
Сплиттер POE 12В (стандарта 802.3af)
IRC-TR v2 (ИК модуль расширения)
Каталог устройств удалённого управления и распределения электропитания NetPing
Устройство UniPing server solution
Устройство UniPing server solution v3
Датчик разбития стекла (Стекло-3 ИО 329-4), 2м
Переходник для NetPing IO v2
Устройство NetPing PWR68-01
Датчик мониторинга 220В 1-wire
Адаптер DKST910.8
Устройство NetPing DKST61-01
Блок питания 48В 1,5А (мод.HRS20005)
Датчик температуры TS, 1м
Датчик температуры, (T811), 2м
Датчик температуры WT, 1м
Датчик протечки, модель 2605, 2м
Датчик протечки H2О
Датчик температуры 1-wire, (THS), 2м
МАЯК-12-СТ
Датчик движения (PYRONIX COLT QUAD PI ПИК детектор), 2м
Датчик движения (SWAN-QUAD ИК детектор квадросенсор), (2м)
BM8070D Силовое реле 16А/250В на DIN-рейку
MP701 Исполнительный элемент (4 независимых канала по 2 кВт 10А)
Датчик дыма комбинированный (дым/тепло) ИП 212/101-2М-A1R с базой Е412NL
МОЛЛЮСК-12/1,5
Внешний ИБП SKAT-12DC-1.0 Li-ion
ИКС-1 извещатель охранный инфракрасный активный однолучевой
Датчик охранный (Извещатель охранный ИО102-20/Б2П, 2м)
Блок розеток SNR-PDU-08S-1
Устройство NetPing 2/PWR-220 v4/SMS
Устройство UniPing server solution v4/SMS
Устройство NetPing 8/PWR-220 v4/SMS
VT592 кабельный датчик протечки
WLC10 кабель протечки
NetPing Connection board v2 (коммутационная плата для UniPing v3)
Инжектор питания POE (стандарта 802.3af)
NetPing датчик наличия электропитания 995S1
Устройство NetPing 2/PWR-220 v12/ETH
Устройство NetPing 2/PWR-220 v13/GSM3G
Датчик наличия 220В (мод. HRS05005), 1.5м
NetPing удлинитель-разветвитель 1-wire на 5 портов, модель R912R1
NetPing датчик качества электропитания 1-wire 910S20
▼ Все теги
Новинки
NetPing датчик качества электропитания 1-wire 910S20
Датчик предназначен для мониторинга качества электропитания в розетке. Датчик должен быть подключен подробнее...

Цена: 2 240 руб.

NetPing удлинитель-разветвитель 1-wire на 5 портов, модель R912R1
Активный удлинитель-разветвитель для подключения датчиков 1-wire к устройствам NetPing5 портов для подключения подробнее...

Цена: 1 400 руб.

Устройство NetPing 2/PWR-220 v12/ETH
Управляемый блок удаленного распределения питания по сети Ethernet/Internet (IP PDU)2 независимые управляемые подробнее...

Цена: 8 157 руб.

Устройство NetPing 2/PWR-220 v13/GSM3G
Управляемый блок удаленного распределения питания по сети Ethernet/Internet (IP PDU) c поддержкой управления подробнее...

Цена: 13 732 руб.

NetPing датчик наличия электропитания 995S1
Датчик позволяет определить наличие напряжения в розетке питания. Выполнен в корпусе блока питания с подробнее...

Цена: 1 224 руб.

WLC10 кабель протечки
Чувствительный кабель для использования совместно с датчиком VT592. Может быть смонтирован в труднодоступных подробнее...

Цена: 6 700 руб.

VT592 кабельный датчик протечки
Датчик предназначен для работы совместно с кабелем протечки WLC10. Возможность подключения датчика как подробнее...

Цена: 3 800 руб.

-+ руб. руб.
Итого руб.

Данные о заказе