linux - Nagios Check NRPE 和 Executing scripts 显示不同的输出
问题描述
当通过 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 用户无法正确卷曲。将软件包降级为相同。
推荐阅读
- python - 如何使用 FastAPI 和 Swagger 允许任意查询参数
- height - 如何获取 Kurento 复合混音器(gstreamer)的视频源大小?
- google-sheets - 将键值对映射到 Google Sheets API v4 (PHP) 中的特定列?
- r - 在 R 中创建子集
- reactjs - 根据另一个状态反应状态(表单输入验证)
- ssh - 尝试在气流中创建和运行 ssh 时,收到此错误“SSH 操作员错误:没有可用的身份验证方法”
- opengl - 如果我使用 Glad 而不是 GLEW,我会错过什么吗?
- python - 如何杀死由 python ctypes.LoadLibrary 创建的 C pthreads
- python - 通过 websocket 发送的文件在接收时变得太大
- react-native - _reactNative.UIManager.setLayoutAnimationEnabledExperimental 不是函数