nagios-https 活动服务失败(接收时出错)

nagios-https 活动服务失败(接收时出错)

我想使用 nagios 检查 SSL 网站(https)的可用性。

我已向 command.cfg 添加了一条命令:

define command{
  command_name    check_http_myserver_Demo
  command_line    $USER1$/check_http -H www.mydomain.de -u /Demo -p 443 -S
}

然后我在 localhost.cfg 中添加了一个服务:

define service {
   use                             local-service
   host_name                       myServer
   service_description             HTTP myserver Response Check
   check_command                   check_http_myserver_Demo
   max_check_attempts              2
   normal_check_interval           5
   retry_check_interval            1
   notification_interval           240
   notification_period             24x7
   notification_options            w,u,c,r
}

如果我使用“nagios -v nagios.cfg”检查配置文件,则不会出现任何错误。

该服务的 nagios 服务器检查结果为阴性,显示“HTTP CRITICAL - Fehler beim Empfangen”(德语;我的翻译是:“接收时出错”)。但该服务确实可用。我可以打开浏览器,并且可以毫无问题地打开 URL。

有任何想法吗?

编辑:

如果我手动运行检查,我会得到:

/usr/lib64/nagios/plugins/check_http -v -H www.c-onDocFlow.de -u / -S
GET / HTTP/1.1
User-Agent: check_http/v1.4.15 (nagios-plugins 1.4.15)
Connection: close
Host: www.c-onDocFlow.de

HTTP CRITICAL - Fehler beim Empfangen

没有“-S”它运行正常。如果我使用其他 https 端(其他域),它也可以。证书可能出了问题,但我看不出有什么问题。

答案1

您可能看不到其他任何错误,但我可以:

[me@risby]$ openssl s_client -connect www.c-onDocFlow.de:443
CONNECTED(00000003)
[...]
Certificate chain
 0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=www.dbregio-nwn.de
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=PositiveSSL CA 2
 1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=PositiveSSL CA 2
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
---
[much certificate stuff deleted]
---
GET /
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>503 Service Temporarily Unavailable</title>
</head><body>
<h1>Service Temporarily Unavailable</h1>
<p>The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.</p>
</body></html>

您说您可以使用浏览器从网络服务器获取根页面,没有问题(“该服务确实可用”);您是从 NAGIOS 服务器成功做到这一点的吗?我们能看到一些证据吗?目前,NAGIOS 似乎非常正确地告诉您,服务器根本没有提供任何内容。

答案2

以下是修复此问题的方法!

您必须编辑 /usr/local/nagios/etc/objects/commands.cfg 并更改 https 参数“-I” 改为 “-H”

这将告诉它查找主机名,而不是服务器配置中 http_check 块中指定的 dip 地址:/usr/local/nagios/etc/servers/yourserver.cfg

从:

    # 'check_http' command definition
define command{
        command_name    check_http
        command_line    $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
        }

到:

    # 'check_http' command definition
define command{
        command_name    check_http
        command_line    $USER1$/check_http -H $HOSTADDRESS$ $ARG1$
        }

相关内容