Назад | Перейти на главную страницу

Подключаемый модуль Nagios check_snmp НЕ получает данные SNMP от маршрутизатора CISCO

Я попытался настроить Nagios на Ubuntu 10.10, успешно установлен и могу войти в веб-интерфейс, однако я застрял в настройке snmp или делаю здесь что-то не так, я следил за различными сайтами / вики nagios для настройки файлов конфигурации (cfg).

Когда я проверяю веб-интерфейс, он выдает следующую ошибку на одном из моих маршрутизаторов cisco:

 Current Status:
   UNKNOWN  
  (for 0d 2h 55m 56s)
 Status Information:

SNMP problem - No data received from host CMD: /usr/bin/snmpget -t 1 -r 5 -m RFC1213-MIB -v 1 [authpriv] 192.168.1.1:161
ifOperStatus.1

В самой командной строке, когда я набираю следующее, он просто сидит и ждет:

sudo /usr/local/nagios/libexec/check_snmp -H 192.168.1.1 -C Routers -o sysUpTime.0

Когда я набираю следующую команду: я получаю ОК

/usr/bin/snmpget -v1 192.168.1.1:161 1.3.6.1.2.1.1.5.0 -c "Routers"

Я правильно настроил SNMP на нашем устройстве cisco, так как мы можем собирать данные SNMP с помощью двух других инструментов мониторинга (SolarWinds и Manage Engine), мы склонны использовать Nagios в качестве его открытого источника.

Буду признателен, если кто-нибудь поможет исправить эту ситуацию и посоветует мне настроить nagios для мониторинга маршрутизаторов, коммутаторов и нескольких серверов Cisco.

Мы хотим отслеживать пропускную способность, использование ЦП, время безотказной работы и другие необходимые счетчики.

Добавьте версию в check_snmp команда

Возможно, MIBS для ваших коммутаторов Cisco не загружены.

Что произойдет, если вы сделаете:

sudo /usr/local/nagios/libexec/check_snmp -H 192.168.1.1 -C Routers -o 1.3.6.1.2.1.1.5.0

вместо того sysUpTime.0?

Если это работает, то это MIB - см. net-snmp wiki для руководства по установке и использованию MIBS. В противном случае проверьте свой синтаксис, как указано Майком Вебером

Проверьте значения, возвращаемые зондом, числа с плавающей запятой не поддерживаются expr, только целые числа. Например.

$expr 0.9 / 10
expr: non-numeric argument

echo temp=$(expr $snmp / 10) # why echo?

temp=$(echo "$snmp / 10" | bc -l) # should do it

Используйте дополнительный канал через sed, чтобы дать вам точность .xx, например

temp=$(echo "$snmp / 10" | bc -l| sed 's/\(\.[0-9]\{2\}\)\(.*\)/\1/')

Condition страдает той же проблемой, если вы просто не усечете результаты до ближайшего целого числа, вам нужно будет сделать что-то вроде:

if [ $(echo "$temp < 28" | bc -l) -eq 1 ]; then :do your stuff here; fi

Также в сценариях nagios попробуйте использовать полный путь к утилитам, чтобы избежать проблем с «path not found» во время выполнения.

SNMP-Oidview