CHECK_NRPE:错误 - 无法完成 SSL 握手(网络)

CHECK_NRPE: Error - Could not complete SSL handshake (web)

我有一个本地 Nagios 服务器,我正在尝试将其配置为使用 check_jvm 监控我的 tomcat8 服务器,因此我可以控制 Java 使用的内存和 类 .

为此,我在客户端上安装了 check_nrpe 插件,并对其进行了配置,但出现 'odd' 错误。

如果我尝试从我的服务器调用客户端上的插件,它会正确回答,甚至使用 check_jvm 命令作为参数。

但是当我配置它以便 nagios 自己进行检查时,Web 浏览器 returns 专门针对该服务 "CHECK_NRPE: Error - Could not complete SSL handshake"。

这是我的:

来自我的 nagios 服务器

# /usr/local/nagios/libexec/check_nrpe -H <client.ip>
NRPE v2.12
# /usr/local/nagios/libexec/check_nrpe -H <client.ip> -c tomcat_heap
OK 799998504 |max=2101870592;;; commited=2101870592;;; used=799998504;;;

其中 tomcat_heap 是客户端在 nrpe.cfg 中定义的命令名称,以便使用 check_jvm 插件。

command[tomcat_heap]=sudo /usr/local/nagios/libexec/check_jvm -n org.apache.catalina.startup.Bootstrap -p heap -w 1700000000 -c 2000000000

现在,再次回到我的 Nagios 服务器,这是服务定义

define service{
          use                   generic-service
          host_name             lin-des
          service_description   Tomcat heap
          check_command         check_nrpe!tomcat_heap
          }

现在,这个 returns 网络应用程序 'CHECK_NRPE: Error - Could not complete SSL handshake'。

我检查了 nrpe.cfg 文件和 /etc/xinetd.d/nrpe 上的 allowed_hosts,因此它包括我的 nagios 服务器 IP。

我还检查了 Selinux 和 Iptables 配置。

我还检查了我的 Nagios 服务器和客户端共享相同版本的 ssl 库。

最后,我检查了服务器和客户端上/usr/local/nagios/libexec的所有权限,因此用户nagios拥有它们的所有权。

在这一点上,我 运行 没有想法,这就是我问你的原因。关于问题可能出在哪里的任何想法?

找到了。

看来我在command.cfg中定义check_nrpe命令时,在命令行上出错了。

define command{
      command_name check_nrpe
      command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -p 5656 -t 30 -c $ARG1$
}

如您所见,我定义了在端口 5656 上运行的命令,该端口不是 nrpe 服务使用的端口(它实际上是 5666)。

修复此错误后,一切正常运行。

我希望这对遇到类似问题的人有所帮助。