【问题标题】:Nagios - Interface IP Check ScriptNagios - 接口 IP 检查脚本
【发布时间】:2016-12-07 13:01:11
【问题描述】:

我是 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_command:$USER1$/check_ip.pl

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

我知道以下是正确的:

  • OID拉取接口的IP是正确的(测试过这个)
  • 路由器上的 IP 是 0.0.0.0,所以它与预期的参数匹配

谁能提供建议/插件文件需要如何编写?

非常感谢。

【问题讨论】:

  • ls -l /path/to/ProblemPlugin 那么你可能需要chmod +x /path/to/ProblemPlugin。祝你好运。

标签: linux interface ip snmp nagios


【解决方案1】:

您的插件实际上在$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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    • 2016-06-11
    • 1970-01-01
    • 2016-07-21
    • 1970-01-01
    • 1970-01-01
    • 2017-07-29
    相关资源
    最近更新 更多