Nagios/NRPE 给出“没有从插件返回的输出”错误
Posted
技术标签:
【中文标题】Nagios/NRPE 给出“没有从插件返回的输出”错误【英文标题】:Nagios/NRPE giving a "No output returned from plugin" error 【发布时间】:2010-10-28 15:59:25 【问题描述】:从 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 服务器上的命令行结果
root 和 nagios 用户的 OK 结果相同:[nagios@cmonmm03 libexec]$ ./check_nrpe -H dappsi01b.dev.screenscape.local -c check_kernel OK:内核版本=2.6.18-194.11.3.el5
当我在机器的本地命令行上运行 check_kernel.sh 脚本时,它可以在那里工作。
帮助,对此有任何想法或已知解决方案将不胜感激?
谢谢
【问题讨论】:
【参考方案1】:您的命令不带任何参数,但 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
【讨论】:
这与我遇到的问题完全相同。在我的默认 Ubuntu 安装中,甚至有一个名为 check_nrpe_1arg 的命令(在 /etc/nagios-plugins/config/check_nrpe.cfg 中),所以我就使用了它。定义为:define command command_name check_nrpe_1arg command_line /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ 【参考方案2】:您是否将 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
【讨论】:
以上是关于Nagios/NRPE 给出“没有从插件返回的输出”错误的主要内容,如果未能解决你的问题,请参考以下文章
实战Nagios网络监控—— Nagios+Nrpe监控其他主机