2010-10-28 70 views
5

得到一个从Nagios的/ NRPE脚本的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

  • 相同OK结果Nagios的服务器上的命令行结果根和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

你加Nagios的主机到/etc/xinetd.nrpe.cfg文件?具体来说,only_from行通常包含本地主机(在远程系统上)。确保添加您的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 
} 
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 
} 
+2

这是完全一样的问题,我有。在我的默认Ubuntu安装中,甚至有一个名为check_nrpe_1arg的命令(位于/etc/nagios-plugins/config/check_nrpe.cfg),所以我只是用它。定义为: 定义命令{ COMMAND_NAME check_nrpe_1arg COMMAND_LINE/usr/lib中/的nagios /插件/ check_nrpe -H $ HOSTADDRESS $ -c $ ARG1 $ } – Howler 2012-06-06 18:07:19