Nagios Plugin Error: (No output on stdout) ... failed. errno is 2: No such file or directory
Nagios Plugin Error: (No output on stdout) ... failed. errno is 2: No such file or directory
我是第一次使用自定义 Nagios 插件,在为插件创建服务时 运行遇到了这个错误。
(No output on stdout) stderr: execvp(/usr/local/nagios/libexec/check_load.py, ...) failed. errno is 2: No such file or directory
当我在命令行上 运行 时插件可以工作,但是当它在 Nagios 中 运行 时不工作。
我按照这些步骤将插件安装到 Nagios
https://assets.nagios.com/downloads/nagiosxi/docs/Managing-Plugins-in-Nagios-XI.pdf
Here is what it looks like in the Nagios UI
插件在正确的路径中:/usr/local/nagios/libexec 并且 resource.cfg 文件在其中具有相同的路径。
我尝试了两个单独的插件,它们都在命令行上工作,结果是同样的错误。
错误表明文件位置不正确,但是插件在指定的目录中并且运行在该目录中没有错误。
我完全被难住了,感谢任何帮助。
对于任何阅读本文的人,我解决了这个问题。
第一次添加插件,忘记添加python扩展名了。当我更新已经创建的插件时,Nagios 仍然抛出错误。
一旦我完全删除插件并重新创建它 'file not found',错误就消失了。
我在尝试添加自定义插件时遇到了类似的问题(我在 ruby 和 python 中有自定义插件)。
问题是脚本开头缺少 shebang line
(这决定了脚本能够像独立可执行文件一样执行)。
例如,如果您有一个 python 插件 custom-plugin.py
,那么请确保此脚本在脚本 #!/usr/bin/env python3
的开头有 shebang。此外,如果您有其他脚本(ruby、bash 等),请确保在脚本的开头添加适当的路径。
此外,检查插件 Nagios 版本的路径。因为我的设置路径是 /usr/local/nagios/libexec/
并确保您的自定义插件是可执行的并且具有正确的所有权权限。
我使用的示例自定义模板:
define command {
command_name check_switch_health
command_line /usr/local/nagios/libexec/check_snmp.rb --host $HOSTADDRESS$ --model "$ARG1$" --community "$ARG2$"
}
上述解决方法对我有用。
我是第一次使用自定义 Nagios 插件,在为插件创建服务时 运行遇到了这个错误。
(No output on stdout) stderr: execvp(/usr/local/nagios/libexec/check_load.py, ...) failed. errno is 2: No such file or directory
当我在命令行上 运行 时插件可以工作,但是当它在 Nagios 中 运行 时不工作。
我按照这些步骤将插件安装到 Nagios https://assets.nagios.com/downloads/nagiosxi/docs/Managing-Plugins-in-Nagios-XI.pdf
Here is what it looks like in the Nagios UI
插件在正确的路径中:/usr/local/nagios/libexec 并且 resource.cfg 文件在其中具有相同的路径。
我尝试了两个单独的插件,它们都在命令行上工作,结果是同样的错误。
错误表明文件位置不正确,但是插件在指定的目录中并且运行在该目录中没有错误。
我完全被难住了,感谢任何帮助。
对于任何阅读本文的人,我解决了这个问题。
第一次添加插件,忘记添加python扩展名了。当我更新已经创建的插件时,Nagios 仍然抛出错误。
一旦我完全删除插件并重新创建它 'file not found',错误就消失了。
我在尝试添加自定义插件时遇到了类似的问题(我在 ruby 和 python 中有自定义插件)。
问题是脚本开头缺少 shebang line
(这决定了脚本能够像独立可执行文件一样执行)。
例如,如果您有一个 python 插件 custom-plugin.py
,那么请确保此脚本在脚本 #!/usr/bin/env python3
的开头有 shebang。此外,如果您有其他脚本(ruby、bash 等),请确保在脚本的开头添加适当的路径。
此外,检查插件 Nagios 版本的路径。因为我的设置路径是 /usr/local/nagios/libexec/
并确保您的自定义插件是可执行的并且具有正确的所有权权限。
我使用的示例自定义模板:
define command {
command_name check_switch_health
command_line /usr/local/nagios/libexec/check_snmp.rb --host $HOSTADDRESS$ --model "$ARG1$" --community "$ARG2$"
}
上述解决方法对我有用。