从Nagios / NRPE脚本获取“没有从插件返回的输出”错误消息
1)运行Nagios v3.2.3和NRPE v2.12
2)剧本:
OK_STATE=0
UNAME=/bin/uname -r
echo "OK: Kernel Version=$UNAME"
exit $OK_STATE
2)使用NRPE的Nagios服务器上的命令行结果
[nagios @ cmonmm03 libexec] $ ./check_nrpe -H dappsi01b.dev.screenscape.local -c check_kernel OK:内核版本= 2.6.18-194.11.3.el5
当我在机器的本地命令行上运行check_kernel.sh脚本时,它会在那里工作。
帮助,任何有关此问题的想法或已知解决方案都会受到赞赏吗?
谢谢
答案 0 :(得分:8)
您的命令不接受任何参数,但check_nrpe的命令定义可能会定义参数参数,例如:
define command{
command_name check_nrpe
command_line /usr/lib64/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
}
因此,尝试在服务定义中放置一个伪参数:
define service{
use normal-service
host_name hostname
service_description Description
check_command check_nrpe!check_foo!placeholder
}
答案 1 :(得分:0)
您是否将nagios主机添加到/etc/xinetd.nrpe.cfg文件中?具体来说,only_from行通常包括localhost(在远程系统上)。确保在那里添加你的nagios主机的IP:
# default: on
# description: NRPE (Nagios Remote Plugin Executor)
service nrpe
{
flags = REUSE
socket_type = stream
port = 5666
wait = no
user = nagios
group = nagios
server = /usr/local/nagios/bin/nrpe
server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd
log_on_failure += USERID
disable = no
only_from = 127.0.0.1 192.168.1.61
}