我用bash写了一个自定义检查,并在4台不同的服务器上运行。 其中两个工作正常,另外两个在检查文件是否存在时失败:
if [ ! -f $LOGFILE ]
通过“失败”我的意思是在这两个服务器脚本决定$LOGFILE不存在(这是错误的)。
所有四台服务器具有相同的configuration,权限等。该文件存在于所有服务器上。 手动运行时,没有错误。 当作为nagios或nrpe用户手动运行时,没有错误。 它只有在通过nagios通过check_nrpe -H ... -c ...远程运行时才会失败check_nrpe -H ... -c ...
我认为也许我的bash技能有点生疏,所以我重新写了Python的支票。 现在, 同样的两台服务器失败了 ,但是错误是
NRPE: Unable to read output
同样,所有服务器上的Python版本都是一样的 但是,我发现有错误的服务器会显示此消息:
$ sudo grep nagios /var/log/messages Jul 19 11:09:15 app-a abrt: detected unhandled Python exception in '/usr/local/nagios/libexec/check_redirects'
正如我所说的,我已经检查了在nagiosconfiguration(在nagios主和客户端),在权限,在python版本的差异…一切似乎是一样的。
我发现很多关于在同一台服务器上工作/失败的检查问题。 这是完全相同的检查在一些服务器上工作,但不是其他人。
任何想法将不胜感激。 谢谢。