Linux Nagios-接口IP检查脚本

Linux Nagios-接口IP检查脚本,linux,interface,ip,snmp,nagios,Linux,Interface,Ip,Snmp,Nagios,我是Linux和Nagios插件的新手,但我需要设置路由器接口丢失IP时的警报(因此当它被视为0.0.0.0时)。我对其他人的脚本做了一些研究,并编写了以下名为check_ip.pl的脚本: $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

我是Linux和Nagios插件的新手,但我需要设置路由器接口丢失IP时的警报(因此当它被视为0.0.0.0时)。我对其他人的脚本做了一些研究,并编写了以下名为check_ip.pl的脚本:

$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_命令:$USER1$/check_ip.pl

已分配模板以使用此检查命令,并从此模板创建了服务。Nagios服务器和路由器之间的SNMP正在工作-但是我得到了“(返回代码126超出范围-插件可能不可执行)”-所以我对插件代码做了一些错误

我知道以下是正确的:

  • 拉取接口IP的OID正确(本测试)
  • 路由器上的IP为0.0.0.0,因此它与预期参数匹配
有人能提供建议/插件文件需要如何编写吗


非常感谢。

您的插件是否实际位于
$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

如果您已经测试了脚本,并且手动运行时它工作正常,那么这应该可以解决您的问题

但是,您发布的代码不是完整的插件。我所看到的不会回报你所寻找的。关于代码,您是否特别需要帮助


另外,请确保您查看了

ls-l/path/to/ProblemPlugin
然后您可能需要
chmod+x/path/to/ProblemPlugin
。祝你好运