【发布时间】:2019-04-01 08:48:16
【问题描述】:
天蓝色服务器上的 nrpe - nrpe-srvr,用户 nrpe,执行脚本 /usr/local/naemon/libexec/check_curl_http.php 我将其称为 script
./script -U www.google.com 之后的期望输出:
Page OK: HTTP Status Code 200 - 11099 bytest in 0.** seconds | time=0.059 size=11099
我通过从root 或nrpe 运行脚本来实现上述输出
运行sudo -u nrpe ./script -U www.google.com 返回:
打开页面出错!错误:无法连接到 [ipv6 addr] 网络是 无法到达
但是运行 su - nrpe -c './script -U www.google.com' 可以达到预期的效果。
内蒙报告:
CHECK_NRPE:30 秒后套接字超时
对同一主机的其他 NRPE 检查正在运行,因此我认为这与用户执行此特定脚本有关。我确实收到了来自SELinux 的拒绝,但调整了上下文。删除上下文并将 SELinux 设置为 permissive 会产生相同的错误。启用 NRPE 日志文件,进行调试,但除了Running command 它并没有真正透露太多。有一个:
WARNING: my_system() seteuid(0): Operation not permitted
在日志中,但查看“正常”行为的支持文档。
【问题讨论】:
-
尝试以详细模式运行该脚本。
-
我认为脚本执行得很好。实际上,我设法让它作为另一个用户使用
su - nrpe - c './script -u www.google.com'正常工作。所以我觉得剧本没问题。 NRPE 执行导致问题。
标签: azure amazon-ec2 nagios nrpe