我在amazon 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/
“allowed host”条目包含我的本地IP地址。
现在可能出现此错误的原因是什么?
答案 0 :(得分: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
答案 1 :(得分:2)
要检查您是否有权访问它,请尝试在地址:端口上执行简单的telnet,ping或traceroute以查看它阻止的位置。
telnet IP port
ping IP
traceroute -p $port IP
还要检查目标服务器上nrpe守护程序是否正常工作。
netstat -at | grep nrpe
您还需要检查两台服务器上安装的OpenSSL的版本,因为我已经看到过SSL握手时的中断检查!
答案 2 :(得分:2)
@jgritty是对的。
您应该修改#VALUE!
和nrpe.cfg
个配置文件以允许您的主要nagios服务器访问:
nrpe
和
vim /usr/local/nagios/etc/nrpe.cf
allowed_hosts=127.0.0.1,172.16.16.150
答案 3 :(得分:1)
对于NRPE来说,这有点像是一个包罗万象的错误消息。检查防火墙规则并确保端口已打开。还尝试禁用SELinux并查看是否允许连接通过。这可能不是SSL问题,只是连接被拒绝的问题。
答案 4 :(得分:1)
检查您的/var/sys/system.log
。在我的例子中,事实证明我的监控IP设置为我在nrpe.cfg文件中设置的IP。不过,我不知道这种变化的原因。
答案 5 :(得分:1)
您似乎在仅限主机的网络上的虚拟机中运行Nagios服务器。如果是这样,这将停止任何外部访问。确保您可以使用NAT或桥接网络。
答案 6 :(得分:0)
确保您已重新启动Nagios客户端插件。
答案 7 :(得分: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用户和组正确进行身份验证,错误消失了。
答案 8 :(得分:0)
重新启动nagios-nrpe-server
的某些边缘情况没有帮助,因为进程未被终止或未正确重新启动。
然后手动杀死它,然后开始。
答案 9 :(得分:0)
SSL握手错误信息。除了你应该分配的allow_host。
您的nagios服务器位于具有C类型IP地址的本地局域网中,例如192.168.xxxx
当目标受监视服务器将ssl消息反馈给您的本地nagios服务器时,该消息应首先到达您的线路的公共IP,该消息不能通过公共IP进入您的nagios服务器,哪个ip是内部IP。 / p>
您需要NAT来引导SSL消息从目标服务器到内部nagios服务器。
或者你最好使用&#34; GET&#34;只需从nagios客户端获取监控消息的方法,如SNMP,即可完成linux服务器本地资源的远程监控。
SSL需要双向反馈。
最好的问候
答案 10 :(得分:0)
对我来说,在/etc/nagios/nrpe.cfg中设置以下客户端工作:
dont_blame_nrpe=1
它和ubuntu 16.04机器。 对于其他可能的问题,我建议查看nrpe日志。这是配置日志的好文章。
答案 11 :(得分:0)
如果你正在运行Debian 9,那么关于这个问题会有a known issue,这是由于OpenSSL对NRPE用于启动匿名SSL连接的方法的删除支持造成的。
问题seems to be fixed但修复程序尚未进入正式软件包。
目前似乎没有安全的解决方法。
答案 12 :(得分:0)
检查/etc/xinetd.d/nrpe中的配置并验证服务器IP。如果显示only_from = 127.0.0.1,请使用服务器IP进行更改。
答案 13 :(得分:0)
这么多的答案,没有一个是我遇到这个问题的原因。
事实证明,nagios具有糟糕的跨版本支持,这是由于我拥有版本2“客户端”(受监视的计算机)和版本3“服务器”(监视计算机)引起的。
将客户端升级到版本3后,问题就消失了,我可以执行check_nrpe -H [client IP]
而没有任何问题。
请注意,我不确定客户机/服务器是否适合nagios,例如在进行NRPE调用的情况下,服务器确实是被调用的计算机,但是我离题了。