Имея в распоряжении настроенную связку 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, добавляем этот сервис в команды проверки коммутатора, не забыв изменить необходимые переменные. Генерируем конфигурационные файлы и ожидаем проверки наших сервисов.
В результате, имеем примерно таку картинку:
Последние комментарии
21 неделя 6 дней назад
46 недель 19 часов назад
2 года 46 недель назад
3 года 16 недель назад
3 года 39 недель назад
4 года 2 недели назад
4 года 3 недели назад
4 года 6 недель назад
4 года 18 недель назад
4 года 22 недели назад