这几天在加一个nagios的插件的时候遇到这问题,脚本本地运行正常 ,使用nrpe调用执行的时候无法输出 。
首先,我将脚本的权限设置成777 执行还是无法输出 ,以为是脚本的问题,开始调试脚本 这里记录一个简单的调试方法:在nrpe的配置文件可以设置一个输出日志 ,在日志输出中看到nrpe调用的具体报错原因,提示对crotable文件没有权限 ,这下明白了,nrpe执行脚本的时候用的是nagios 用户 这个用户没有权限 读取一些系统文件 这个查了一下 这个需要 做一下提权在,做法如下:
修改 /etc/sudoers 添加 nagios ALL=(ALL) NOPASSWD: ALL 和注释#Defaults requiretty
执行调用 ,可以正常返回数据
网友评论