我正在运行 opsview (nagios),但有 1 个从属服务器无法正确执行某些插件
Return code of 127 is out of bounds - plugin may be missing
当我手动执行插件时它说
./check_icmp
bash: ./check_icmp: No such file or directory
在主服务器和其他从服务器上,执行插件时它可以正常工作
我已经在谷歌上搜索并尝试了好几天,但还是无法让它工作
编辑:由 Kyle Brandt 解决(参见评论)
答案1
我的第一个猜测是该文件没有可执行权限。您以哪个用户身份运行它?如果该文件归用户或用户所在的组所有,如果用户没有可执行权限,那么即使“all”具有可执行权限,用户仍然无法运行它。
举例来说,如果它归用户 Nagios 所有,但是该文件没有用户的可执行权限,那么您就会收到该错误,即使文件可由所有人/其他人执行:
[kbrandt@kbrandt-opadmin: ~/scrap] ls -l true.pl <24252@6:17>
-rw-rw-r-x 1 kbrandt kbrandt 603 2009-04-14 13:17 true.pl
[kbrandt@kbrandt-opadmin: ~/scrap] ./true.pl
zsh: permission denied: ./true.pl
组也是如此。如果某个文件归用户“Joe”和组“Nagios”所有,而 Nagios 组成员用户 kbrandt 尝试运行该文件,如果组列没有可执行权限,则 kbrandt 将无法运行它。
长评论帖后更新:
您是否尝试过在该机器上重新编译插件?
就是这样!文件会自动通过 opsview 从另一台(英特尔机器)复制!从源代码编译插件成功了