2

我有一个本地 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.cfgcheck_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 握手”。

我已经检查了allowed_hostsonnrpe.cfg文件以及 on /etc/xinetd.d/nrpe,所以它包含了我的 nagios 服务器 IP。

我还检查了 Selinux 和 Iptables 配置。

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

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

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

4

1 回答 1

0

找到了。

好像我在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)。

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

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

于 2015-05-21T10:20:28.103 回答