我正在将我们的 Icinga 2 从 Debian 8 迁移到 Ubuntu 18.04。旧服务器有 NRPE 插件 2.15。新服务器有 NRPE 插件 3.2.1。
如果我尝试使用新插件连接到旧 NRPE 服务器(v2.15 也是如此),我会收到以下错误:
$ /usr/lib/nagios/plugins/check_nrpe -H some.server
CHECK_NRPE: (ssl_err != 5) Error - Could not complete SSL handshake with 1.2.3.4: 1
$ /usr/lib/nagios/plugins/check_nrpe -H some.server -n
CHECK_NRPE: Receive header underflow - only -1 bytes received (4 expected).
$ /usr/lib/nagios/plugins/check_nrpe -2 -H some.server
CHECK_NRPE: (ssl_err != 5) Error - Could not complete SSL handshake with 1.2.3.4: 1
$ /usr/lib/nagios/plugins/check_nrpe -2 -H some.server -n
CHECK_NRPE: Receive header underflow - only -1 bytes received (4 expected).
NRPE 服务器总是记录以下信息:
Error: Could not complete SSL handshake. 1
知识库条目说,这应该可以工作。如何使新插件与旧 NRPE 服务器一起工作?
答案1
我刚刚也遇到了同样的问题。修复这个问题的方法是使用以下命令重新编译 check_nrpe 插件:
sudo ./configure --disable-ssl --enable-command-args
然后我运行sudo make check_nrpe
,将其放在坏插件上,然后重新启动 nagios-nrpe-server。我不再收到“SSL 握手”错误(我只收到您在添加标志时提到的“标头下溢”错误-n
,但嘿,循序渐进)。希望这能有所帮助。
—马歇尔
答案2
我想让你知道,我刚刚被告知 apt 中有一个名为 的软件包(我正在使用 Debian 9)nagios-nrpe-plugin
。我通过 apt 安装了它(它安装到/usr/lib/nagios/plugins
),并立即能够运行该命令并返回远程服务器的 NRPE 版本。我仍然在 Nagios 前端收到“header underflow”消息,所以我似乎还需要在那里进行一些调整,但我会随时向你更新。我希望这些信息能有所帮助。-Marshall D
答案3
如果客户端 NRPE 使用 -n 参数运行以禁用 SSL,但服务器端 NRPE 仍在尝试进行 SSL 握手,则会发生错误“接收标头下溢”。如果将 -n 添加到服务器端 NRPE 的参数中,则应该可以修复此问题。
在 Windows 上使用 ICW 的 Winrpe,我必须在此处更改注册表中服务的参数:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\Nrpe\Parameters
只需在注册表中搜索 nrpe.exe 并将 -n 添加到参数中即可。您可能需要更改多个控制集。