Использование устойств NetPing совместо с Nagios
Использование устойств NetPing совместо с Nagios
В предыдущих статьях ([1], [2], [3], [4]) были показаны реализация мониторинга и управление температурой с помощью устройств NetPing и программных пакетов MRTG, Cacti и Zabbix. Несмотря на то, что эти системы мониторинга способны удовлетворить потребности самого требовательного администратора, существуют также и другие системы мониторинга.
В нашей стране большой популярностью пользуется система мониторинга Nagios, к плюсам которой можно отнести её гибкость (по этому параметру она превосходит даже Zabbix), а к минусам - относительную сложность её конфигурирования.
Если в вашей компании используется Nagios, и вам была поставлена задача настроить отслеживание температуры в помещениях с помощью устройств NetPing TS v2 производства компании «Алентис Электроникс» или вы просто хотите попробовать освоить Nagios, то эта статья для вас. Ниже будет показано, как настроить мониторинг температуры с помощью Nagios.
Как обычно начальные условия:
- Сервер мониторинга под управлением Ubuntu 9.04 Server, который имеет IP-адрес 192.168.2.230;
- Устройство NetPing TS v2, имеющее IP-адрес 192.168.2.10, и SNMP-Community SWITCH, доступ к которому разрешён, как минимум, с сервера мониторинга.
Первым шагом установим Nagios:
apt-get install nagios3 exim4-daemon-light
Exim понадобится для отправки оповещений по e-mail. В процессе установки потребуется скачать около тридцати мегабайт необходимых пакетов.
После установки надо создать файл /etc/nagios3/htpasswd.users и добавить в него пользователя root. Сделаем это:
htpasswd -c /etc/nagios3/htpasswd.users root
Теперь мы можем открыть в браузере страницу "e;http://192.168.2.230/nagios3/" и авторизоваться в системе, используя логин "root" и пароль, который был введён на предыдущем шаге.
Однако веб-интерфейс системы предназначен только для просмотра состояния устройств. Все настройки хранятся в конфигурационных файлах. Поэтому пока оставим в покое интерфейс и приступим к конфигурации системы. Первым делом, нам нужно описать новый хост для мониторинга, для этого создадим файл mcedit /etc/nagios3/conf.d/host-netping.cfg следующего содержания:
define host {
# Имя хоста для использования внутри системы
host_name netping
# Имя хоста, показываемое пользователю
alias NetPing TS v2
# IP-адрес или DNS-имя хоста для мониторинга
address 192.168.2.10
# Основной используемый шаблон
use generic-host
}
Теперь нам нужно определить к какой группе относится этот хост. Создадим для таких хостов отдельную группу: «netping-devices», для этого открываем в редакторе файл /etc/nagios3/conf.d/hostgroups_nagios2.cfg и дописываем в конец следующие строки:
define hostgroup {
# Имя группы для использования внутри системы
hostgroup_name netping-devices
# Имя группы, показываемое пользователю
alias NetPing TS v2 Devices
# Хосты - члены этой группы. Перечисляются через запятую
members netping
}
Далее опишем команды для мониторинга устройства, для этого создадим файл /etc/nagios-plugins/config/netping.cfg, следующего содержания:
define command{
command_name term_on_sensor1
command_line /usr/lib/nagios/plugins/check_snmp -H ''$HOSTADDRESS$'' -C ''$ARG1$'' -o 1.3.6.1.4.1.25728.50.8.1005 -l ''Term on sensor1'' -u ''degree'' -w ''$ARG2$'' -c ''$ARG3$''
}
define command{
command_name term_on_sensor2
command_line /usr/lib/nagios/plugins/check_snmp -H ''$HOSTADDRESS$'' -C ''$ARG1$'' -o 1.3.6.1.4.1.25728.50.8.1017 -l ''Term on sensor2'' -u ''degree'' -w ''$ARG2$'' -c ''$ARG3$''
}
Здесь показаны команды только для двух датчиков, однако, их может быть и больше. Соответствующие OID''ы вы можете уточнить в документации на устройство.
Теперь остаётся связать эти команды с нашим новым хостом или группой хостов. Пока будем связывать с конкретным хостом. Для этого открываем в редакторе файл /etc/nagios3/conf.d/services_nagios2.cfg и дописываем в конец строки:
define service {
# Имя хоста, за которым будем следить
host_name netping
# Имя этого сервиса
service_description TERM1
# Команда проверки
# Передаваемые ей параметры разделяются восклицательным знаком
# В нашем случае параметры обозначают (см. описание команды в netping.cfg):
# 1. SNMP Community
# 2. Значение, при превышении которого ситуация будет считаться опасной (Warning)
# 3. Значение, при превышении которого ситуация будет считаться критической (Critical)
check_command term_on_sensor1!SWITCH!28!29
# Используемый шаблон
use generic-service
# Интервал между проверкой и отправкой оповещений
notification_interval 60
# Время, когда хост должен быть доступен
notification_period 24x7
# Список уровней событий, для которых будут отсылаться оповещения
notification_options w,u,c,r
}
define service {
host_name netping
service_description TERM2
check_command term_on_sensor2!SWITCH!24!27
use generic-service
notification_interval 60
notification_period 24x7
notification_options w,u,c,r
}
Далее открываем в редакторе файл /etc/nagios3/conf.d/contacts_nagios2.cfg, находим секцию с описанием пользователя root и указываем корректный e-mail для отправки сообщений.
Для проверки правильности написания конфигурационных файлов нужно выполнить команду:
nagios3 -v /etc/nagios3/nagios.cfg
В ходе работы команды будет выведена информация о проводимых проверках, и в самом конце будет выведена итоговая информация. Она должна быть такой:
Total Warnings: 0
Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight check
Если у вас не так - ищите ошибки в настройках. После того как все ошибки найдены, и проверка показывает их отсутствие нужно перезапустить сервис Nagios:
invoke-rc.d nagios3 restart
После этого Nagios начнёт отслеживать температуру на заданных датчиках. Проверить это можно через веб-интерфейс, открыв страницу «Host Detail» -> «netping» -> «View Status Detail For This Host».
На приведённом выше скриншоте видно, что на втором сенсоре у нас всё отлично, а вот на первом - критический перегрев. Кроме отображения в веб-интерфейсе на e-mail администратору будут приходить сообщения следующего содержания:
***** Nagios *****
Notification Type: PROBLEM
Service: TERM1
Host: NetPing TS v2
Address: 192.168.2.10
State: CRITICAL
Date/Time: Sat Aug 15 04:05:24 MSD 2009
Additional Info:
Term on sensor1 CRITICAL - *31* degree
Также для обработки критических ситуаций можно использовать самописные скрипты, которые будут включать/отключать оборудование, слать оповещения по SMS или через Jabber и выполнять другие действия. Подробнее об этом можно прочитать в официальной документации Nagios.
На этом всё. Приятной работы!
Автор: Вадим Калинников
E-mail: moose@ylsoftware.com
Web:http://ylsoftware.com
Корректор: Фролова Мария
E-mail: smei.i.inaja@gmail.com