Nagios/NRPE给出"从插件返回无输出"错误

Ric*_*ick 5 linux monitoring 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
Run Code Online (Sandbox Code Playgroud)

2)使用NRPE在Nagios服务器上生成命令行结果

  • root和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脚本时,它会在那里工作.

帮助,任何想法或已知的解决方案将不胜感激?

谢谢

Ram*_*man 8

您的命令不接受任何参数,但check_nrpe的命令定义可能会定义参数参数,例如:

define command{
    command_name    check_nrpe
    command_line    /usr/lib64/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
}
Run Code Online (Sandbox Code Playgroud)

因此,尝试在服务定义中放置一个伪参数:

define service{
    use                             normal-service
    host_name                       hostname
    service_description             Description
    check_command                   check_nrpe!check_foo!placeholder
}
Run Code Online (Sandbox Code Playgroud)

  • 这与我的问题完全相同.在我的默认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认同)

小智 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
}
Run Code Online (Sandbox Code Playgroud)