Nagios - проверка статуса порта коммутатора используя check_snmp

Версия для печатиОтправить другуPDF version

Nagios logo

Имея в распоряжении настроенную связку Nagios + Nconf, продолжим развивать тему мониторинга разнообразных параметров. Настроим возможность проверки состояния порта коммутатора (up или down). Для этого воспользуемся возможностью Nagios работать с SNMP, используя расширение check_snmp. Синтаксис использования check_snmp следующий:

Usage:
check_snmp -H <ip_address> -o <OID> [-w warn_range] [-c crit_range]
[-C community] [-s string] [-r regex] [-R regexi] [-t timeout] [-e retries]
[-l label] [-u units] [-p port-number] [-d delimiter] [-D output-delimiter]
[-m miblist] [-P snmp version] [-L seclevel] [-U secname] [-a authproto]
[-A authpasswd] [-x privproto] [-X privpasswd]

Теперь немного общей информации. В SNMP состояние порта можно получить через OID 1.3.6.1.2.1.2.2.1.8, он же ifOperStatus.

Пример запроса состояния портов коммутатора с помощью snmpwalk (может пригодится, если у коммутатор использует нестандартные индексы для нумерации портов):

# snmpwalk -v 2c -c you_community_here 192.168.x.x ifOperStatus

IF-MIB::ifOperStatus.1 = INTEGER: down(2)
IF-MIB::ifOperStatus.2 = INTEGER: up(1)
IF-MIB::ifOperStatus.3 = INTEGER: up(1)
IF-MIB::ifOperStatus.4 = INTEGER: up(1)
IF-MIB::ifOperStatus.5 = INTEGER: up(1)
IF-MIB::ifOperStatus.6 = INTEGER: up(1)
IF-MIB::ifOperStatus.7 = INTEGER: up(1)
IF-MIB::ifOperStatus.8 = INTEGER: down(2)
IF-MIB::ifOperStatus.9 = INTEGER: down(2)
IF-MIB::ifOperStatus.10 = INTEGER: down(2)
IF-MIB::ifOperStatus.11 = INTEGER: down(2)
IF-MIB::ifOperStatus.12 = INTEGER: down(2)
IF-MIB::ifOperStatus.13 = INTEGER: down(2)
IF-MIB::ifOperStatus.14 = INTEGER: down(2)
IF-MIB::ifOperStatus.15 = INTEGER: down(2)
IF-MIB::ifOperStatus.16 = INTEGER: down(2)
IF-MIB::ifOperStatus.17 = INTEGER: down(2)
IF-MIB::ifOperStatus.18 = INTEGER: down(2)
IF-MIB::ifOperStatus.19 = INTEGER: down(2)
IF-MIB::ifOperStatus.20 = INTEGER: down(2)
IF-MIB::ifOperStatus.21 = INTEGER: down(2)
IF-MIB::ifOperStatus.22 = INTEGER: down(2)
IF-MIB::ifOperStatus.23 = INTEGER: down(2)
IF-MIB::ifOperStatus.24 = INTEGER: down(2)
IF-MIB::ifOperStatus.25 = INTEGER: up(1)
IF-MIB::ifOperStatus.26 = INTEGER: down(2)
IF-MIB::ifOperStatus.27 = INTEGER: up(1)
IF-MIB::ifOperStatus.28 = INTEGER: up(1)

Теперь, используя эту информацию, создадим в Nconf новую "Checkcommand" - "check_switch_port".

Для этого в меню "Additional Items", пункт "Checkcommands" жмем кнопку "Add" и заполняем форму следующим образом:

check command name check_switch_port
default service name  
check command line $USER1$/check_snmp -H $HOSTADDRESS$ -r 1 -C $ARG1$ -P $ARG2$ -o ifOperStatus.$ARG3$
command description ARG1=SNMP community,ARG2=SNMP version,ARG3=Port number
default command params !public!2c!1
amount of params 3

После создания команды проверки check_switch_port, добавляем этот сервис в команды проверки коммутатора, не забыв изменить необходимые переменные. Генерируем конфигурационные файлы и ожидаем проверки наших сервисов.

В результате, имеем примерно таку картинку:

Nagios check switch port

 

Голосов пока нет

Вставай, Україно!

Литература

А кофе на клавиатуру тоже вирус пролил?