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

标签 java ssl nagios nrpe

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

为此,我在客户端安装了 check_nrpe 插件,并对其进行了配置,但我遇到了一个“奇怪”的错误。

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

但是当我配置它以便 nagios 自己进行检查时,Web 浏览器会专门针对该服务返回“CHECK_NRPE:错误 - 无法完成 SSL 握手”。

这是我的:

从我的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
          }

现在,这会在 Web 应用程序上返回“CHECK_NRPE:错误 - 无法完成 SSL 握手”。

我检查了 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)。

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

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

关于java - CHECK_NRPE : Error - Could not complete SSL handshake (web),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30323748/

相关文章:

Linux - 安装了 Nagios 但出现 Forbidden 403 错误

java - JTable 的自定义表模型和渲染不会显示任何内容

java - 类型 'android.view.ViewGroup' 的实例无法分配给类型 'com.android.keyguard.ChallengeLayout' 的变量

android - Rails 3 和 Android 移动应用程序中的自定义 HTTP header 通过 HTTPS 消失

asp.net - 我的 Web 应用程序需要 SSL 吗?

nagios - Centreon/Nagios 命令中的可选参数

java - 使用 selenium webdriver 处理带有许多按钮的弹出窗口

java - 如何在 servlet 中调用带参数的 URL 并获取响应?

c# - 收到的 WCF 服务器证书的部分链验证失败

linux - 外部命令错误 :/usr/local/bin/snmpget: error while loading shared libraries: libnetsnmp. so.20: 无法打开共享对象文件