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

时间:2015-05-19 11:00:08

标签: 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
          }

现在,这会返回一个&#39; CHECK_NRPE:错误 - 无法完成SSL握手&#39;在网络应用程序。

我已检查allowed_hosts文件上的nrpe.cfg以及/etc/xinetd.d/nrpe上的/usr/local/nagios/libexec,因此它包含了我的nagios服务器IP。

我还检查了Selinux和Iptables的配置。

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

最后,我已经检查了服务器和客户端上 - (void)awakeWithContext:(id)context { [super awakeWithContext:context]; [self CreateUaerActivity]; } -(void)CreateUaerActivity { NSUserActivity *activity = [[NSUserActivity alloc] initWithActivityType:@"com.xxx.xxx.glance"]; activity.title = @"Glance"; activity.delegate=self; NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:kUserLoginWatchKit,kRequestTypeWatchKit, nil]; activity.userInfo = dict; self.userActivity = activity; [self.userActivity becomeCurrent]; } - (void)willActivate { [super willActivate]; [NSTimer scheduledTimerWithTimeInterval:120 target:self selector:@selector(doSomething) userInfo:nil repeats:YES]; } -(void)doSomething { NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:kUserLoginWatchKit,kRequestTypeWatchKit, nil]; [super updateUserActivity:@"com.xxx.xxx.glance" userInfo:dict webpageURL:nil]; } -(void)handleUserActivity:(NSDictionary *)userInfo { //displaying data } 的所有权限,因此用户nagios拥有它们的所有权。

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

1 个答案:

答案 0 :(得分: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)。

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

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