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)。
修复此错误后,一切正常运行。
我希望这对遇到类似问题的人有所帮助。
我有一个本地 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)。
修复此错误后,一切正常运行。
我希望这对遇到类似问题的人有所帮助。