2016-12-07 4 views
0

Я немного новичок с Linux & плагинами Nagios, но мне нужно настроить оповещения, когда интерфейсы маршрутизатора теряют свои IP-адреса (поэтому, когда они видны как 0.0.0.0). Я сделал небольшое исследование других сценариев народов и написал ниже сценарий под названием check_ip.pl:Nagios - интерфейс IP Check Script

$snmpIfIP = '.1.3.6.1.4.1.23695.2.1.3.1.1.3.0.0'; 
$noip = "0.0.0.0"; 
if ($snmpIfIP != $noip) { 
echo "Interface has an IP"; 
exit 0 } else { echo "No IP on Interface"; exit 2 } 

В Nagios, я тогда назначен это к check_command: $ USER1 $/check_ip.pl

назначен шаблон, чтобы использовать эту команду проверки и создал сервис из этого шаблона. SNMP между сервером Nagios и маршрутизатором работает - но я получаю »(код возврата из 126 выходит за рамки - плагин может быть не исполняемым)» - так что я сделал что-то не так с кодом плагина!

Я знаю следующее правильно:

  • OID тянуть IP интерфейса правильно (проверено это)
  • The IP на маршрутизаторе 0.0.0.0 так, он делает матч за ожидаемый аргумент

Может ли кто-нибудь предложить совет/как файл плагина должен быть написан, пожалуйста?

Большое спасибо.

+0

'ls -l/path/to/ProblemPlugin' Возможно, вам понадобится' chmod + x/path/to/ProblemPlugin'. Удачи. – shellter

ответ

2

Действительно ли ваш плагин находится в каталоге $USER1$? $USER1$ - /usr/local/nagios/libexec в большинстве случаев.

Вы должны убедиться, что не только ваш плагин исполняемым:

chmod +x /usr/local/nagios/libexec/check_ip.pl

Но и то, что он является исполняемым (и собственности) пользователем Nagios:

chown nagios:nagios /usr/local/nagios/libexec/check_ip.pl

Если вы протестировали свой скрипт, и он работает правильно при запуске вручную, тогда это должно решить вашу проблему!

Однако код, который вы отправили, не является полным плагином. То, что я вижу, не вернет то, что вы ищете. Есть ли что-то конкретное, что вам нужна помощь в отношении кода?

Кроме того, удостоверьтесь, что вы проверили Nagios Plugin Development Guidelines!