check_nrpe ssl无法完成握手,在主服务器和客户端服务器,它都能正常工作

我得到这个check_nrpe SSLL无法完成主服务器握手错误,当我尝试执行下面的命令。

/usr/local/nagios/libexec/check_nrpe -H 10.192.122.234 10.192.122.234 --> nagios client machine 

但是当我使用

 /usr/local/nagios/libexec/check_nrpe -H localhost 

它给出了适当的结果,即使用主服务器IP,它甚至是nrpe版本,而不是本地主机,它给了我nrpe版本的结果。

当我从nagios客户端机器执行相同的命令时,它再次给我nrpe版本。 主服务器IP位于nrpe.cfg文件中。 有关信息,主ip和客户ip都configuration了eth1。

那么问题在哪里,为什么我的主服务器无法在客户机上运行这个命令?

当你得到这个错误

 CHECK_NRPE: Error - Could not complete SSL handshake. 

这意味着nrpe服务器未configuration为允许此请求。

您需要从nrpeconfiguration文件/etc/nagios/nrpe.cfg允许请求者的IP地址。 你应该包括IP的行:

 allowed_hosts=127.0.0.1,your.ip.goes.here 

更改configuration后,不要忘记重新加载/重新启动nrpe服务器。

基本上,不需要从Nagios客户端运行check_nrpe,因为没有理由首先将其安装在Nagios客户端机器上。

check_nrpe插件应始终从Nagios服务器运行。

除了Khaled的回答外,我还会检查NRPE是否configuration为独立守护进程或configuration为由Xinetd启动。

如果它被configuration为通过xinetd运行(你可以检查/etc/xientd.d目录下是否有一个名为nrpe的文件),它将如下所示:

 service nrpe { flags = REUSE type = UNLISTED port = 5666 socket_type = stream wait = no user = nagios group = nagios server = /usr/sbin/nrpe server_args = -c /etc/nagios/nrpe.cfg --inetd log_on_failure += USERID disable = no only_from = 127.0.0.1 nagios01.company.com 10.XX30 } 

确保在“only_from”行中包含您的Nagios服务器IP或主机名,并确保这些值由空格分隔,而不是像/etc/nrpe/nrpe.cfg文件中的逗号分隔。

另一件我要检查的是,N​​agios服务器能够远程loginNRPE端口上的Nagios客户端。

默认端口是5666,因此您应该从Nagios服务器运行以下命令:

 telnet nagios_server 5666 

输出应该如下所示:

 [root@nagios01 ~]# telnet do01.company.com 5666 Trying 10.XX30... Connected to do01.company.com. Escape character is '^]'. 

如果你无法从Nagios服务器telnet到Nagios客户端,我会开始寻找那里。

有一个官方的文件,我总是使用时,麻烦的NRPE相关的问题,检查出来: Nagios官方文档