10

我在亚马逊 ec2 实例上的 xinetd 下运行 NRPE 守护进程,在本地机器上运行 nagios 服务器。

给出了这个check_nrpe -H [amazon public IP]错误:

CHECK_NRPE: Error - Could not complete SSL handshake.

两个 Nrpe 都是相同的版本。两者都使用此选项编译:

./configure  --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/i386-linux-gnu/

“允许的主机”条目包含我的本地 IP 地址。

现在这个错误的可能原因是什么?

4

14 回答 14

11

如果您将 nrpe 作为服务运行,请确保在客户端的 nrpe.cfg 中有此行​​:

# example 192. IP, yours will probably differ
allowed_hosts=127.0.0.1,192.168.1.100 

您说已经完成,但是,如果您在 xinetd 下运行 nrpe,请确保编辑only_from文件中的指令/etc/xinetd.d/nrpe

不要忘记重启 xinetd 服务:

service xinetd restart
于 2014-11-07T03:20:54.480 回答
2

要检查您是否可以访问它,请尝试在地址:端口上进行简单的 telnet、ping 或 traceroute 以查看它被阻塞的位置。

telnet IP port
ping IP
traceroute -p $port IP

还要在目标服务器上检查 nrpe 守护进程是否正常工作。

netstat -at | grep nrpe

您还需要检查安装在两台服务器上的 OpenSSL 版本,因为我在 SSL 握手时偶尔会看到这种中断检查!

于 2014-01-07T20:43:40.557 回答
2

检查你的/var/sys/system.log. 就我而言,事实证明我的监控 IP 设置为不同于我在 nrpe.cfg 文件中设置的 IP。不过,我不知道这种变化的原因。

于 2014-11-09T09:24:42.297 回答
2

@jgritty 是对的。您应该编辑nrpe.cfgnrpe配置文件以允许您的主 nagios 服务器访问:

vim /usr/local/nagios/etc/nrpe.cf
allowed_hosts=127.0.0.1,172.16.16.150

vim /etc/xinetd.d/nrpe
only_from= 127.0.0.1 172.16.16.150
于 2016-02-16T07:40:53.980 回答
1

对于 NRPE,这在某种程度上是一个包罗万象的错误消息。检查您的防火墙规则并确保该端口已打开。还可以尝试禁用 SELinux 并查看是否允许连接通过。这可能不是 SSL 问题,而只是连接被拒绝的问题。

于 2013-12-13T14:12:08.627 回答
1

看起来您正在仅主机网络上的虚拟机中运行 Nagios 服务器。如果是这样,这将停止任何外部访问。确保您有可用的 NAT 或桥接网络。

于 2016-03-14T20:17:36.147 回答
1

这么多答案,没有一个是我遇到这个问题的原因。

事实证明,nagios 具有糟糕的跨版本支持,这是由于我有一个版本 2“客户端”(被监控的机器)和一个版本 3“服务器”(监控机器)造成的。

一旦我将客户端升级到版本 3,问题就消失了,我可以check_nrpe -H [client IP]毫无问题地做一个。

请注意,我不确定客户端/服务器是否是 nagios 的正确术语,就像 NRPE 调用的情况一样,服务器实际上是被调用的机器,但我离题了。

于 2019-05-12T17:38:28.867 回答
0

确保您也重新启动了 Nagios 客户端插件。

于 2016-04-15T18:13:49.973 回答
0

我正在使用 xinetd 服务运行 nrpe。

还要确保(除了上述基本步骤之外)您的 nagios 用户正在正确地进行身份验证。就我而言:

Jun  6 15:05:52 gse2 xinetd[33237]: **Unknown user: nagios**<br>[file=/etc/xinetd.d/nrpe] [line=9]
Jun  6 15:05:52 gse2 xinetd[33237]: Error parsing attribute user - DISABLING
SERVICE [file=/etc/xinetd.d/nrpe] [line=9]
Jun  6 15:05:52 gse2 xinetd[33237]: **Unknown group: nagios**<br>[file=/etc/xinetd.d/nrpe] [line=10]
Jun  6 15:05:52 gse2 xinetd[33237]: Error parsing attribute group - DISABLING
SERVICE [file=/etc/xinetd.d/nrpe] [line=10]
Jun  6 15:05:52 gse2 xinetd[33237]: Service nrpe missing attribute user - DISABLING

显示在 /var/log 消息中。
一开始我没有发现它,但后来我检查了 ypbind 服务,发现它没有启动。
启动 ypbind 后,nagios 用户和组正确验证,错误消失。

于 2016-06-06T19:13:32.707 回答
0

一些边缘情况重新启动nagios-nrpe-server没有帮助,因为进程没有被杀死或没有正确重新启动。

然后手动杀死它,然后开始。

于 2016-07-09T16:19:19.790 回答
0

SSL 握手错误消息。除了您应该分配的 allow_host。

您的 nagios 服务器位于本地局域网中,具有 C 类型的 IP 地址,例如 192.168.xxxx

当目标监控服务器将ssl msg反馈到您本地的nagios服务器时,消息应该首先到达您线路的公共IP,消息不能通过公共IP进入您的nagios服务器,该IP是内部IP。

您需要 NAT 将 SSL 消息从目标服务器引导到内部 nagios 服务器。

或者你最好使用“GET”方法从nagios客户端获取监控消息,例如SNMP来实现对linux服务器本地资源的远程监控。

SSL 需要双向反馈。

此致

于 2016-09-28T03:54:30.107 回答
0

对我来说,在客户端的 /etc/nagios/nrpe.cfg 中设置以下内容:

dont_blame_nrpe=1

它和 ubuntu 16.04 机器。对于其他可能的问题,我建议查看 nrpe 日志。这是配置日志的好文章。

于 2017-03-08T06:37:06.473 回答
0

如果您运行的是 Debian 9,则存在一个关于此问题的已知问题,这是由于 OpenSSL 放弃了对 NRPE 用于启动匿名 SSL 连接的方法的支持。

该问题似乎已修复,但该修复尚未进入官方软件包。

目前似乎没有安全的解决方法。

于 2017-06-28T15:26:30.257 回答
0

检查 /etc/xinetd.d/nrpe 中的配置并验证服务器 IP。如果它显示 only_from = 127.0.0.1 将其更改为 Server IP 。

于 2018-10-23T08:39:53.357 回答