我得到这个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文件中的逗号分隔。
另一件我要检查的是,Nagios服务器能够远程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官方文档