nrpe 报错 Received 0 bytes from daemon

来源:互联网 发布:gltools王者荣耀优化 编辑:程序博客网 时间:2024/06/01 16:32

Verify the check_nrpe error message

Just for testing purpose, let us assume that you are execuing the following check_nrpe command that displays the “CHECK_NRPE: Received 0 bytes from daemon.” error message.

执行这个命令报错 

Received 0 bytes from daemon. Check the remote server logs for error messages.

$ /usr/local/nagios/libexec/check_nrpe -H 192.168.1.20 -c check_disk -a 60 80 /dev/sdb1CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.

If you view the /var/log/messages on the remote host, (in the above example, that is 192.168.1.20), you’ll see the nrpe error “Error: Request contained command arguments!” as shown below, indicating that check_nrpe is not enabled to take the command arguments.

到目标机器上查看

/var/log/messages

$ tail -f /var/log/messagesDec 5 11:11:52 dev-db xinetd[2536]: START: nrpe pid=24187 from=192.168.101.108Dec 5 11:11:52 dev-db nrpe[24187]: Error: Request contained command arguments!Dec 5 11:11:52 dev-db nrpe[24187]: Client request was invalid, bailing out...Dec 5 11:11:52 dev-db xinetd[2536]: EXIT: nrpe status=0 pid=24187 duration=0(sec)

Enable check_nrpe command arguments

说明编译nrpe时没有允许带参数的命令,需要重新编译

To enable command arguments in NRPE, you should do the following two things.

1. Configure NRPE with –enable-command-args

Typically when you install NRPE on the remote host, you’ll do ./configure without any arguments. To enable support for command arguments in the NRPE daemon, you should install it with –enable-command-args as shown below.

[remotehost]# tar xvfz nrpe-2.12.tar.gz[remotehost]# cd nrpe-2.12[remotehost]# ./configure --enable-command-args[remotehost]# make all[remotehost]# make install-plugin[remotehost]# make install-daemon[remotehost]# make install-daemon-config[remotehost]# make install-xinetd

2. Modify nrpe.cfg and set dont_blame_nrpe

Modify the /usr/local/nagios/etc/nrpe.cfg on the remote server and set the dont_blame_nrpe directive to 1 as shown below.