Nagios Check NRPE和Executing脚本显示不同的输出



通过check_nrpe执行脚本和从本地服务器执行脚本时,会显示两个不同的输出。

脚本与此类似。

url="http://xxx.xxx.xxx.xxx:5000/v2/_catalog";
status="$(curl --write-out %{http_code} --silent --output /dev/null  $url)"
if [ "$status" = 200 ]
then
echo "OK"
exit 0
else
echo "Not responding.Please check."
exit 2
fi

当直接从本地服务器执行此脚本文件时,它会生成以下输出

[root@xxxxxlibexec]$ ./check.sh 
OK

但是,当我通过check_nrpe从Nagios Core服务器执行此操作时,它会生成else块。

[root@xxxxx libexec]# ./check_nrpe -H xxx.xxx.xxx.xxx -p 5667 -c check_registry
Not responding.Please check.

NRPE CFG命令如下所示。

command[check_registry]=/usr/local/nagios/libexec/check.sh

我已经尝试重新启动NRPE和Nagios Core。还仔细检查了权限问题。

这是由于curl和libcurl不匹配造成的。nagios用户无法正确卷曲。将包降级为相同。

最新更新