我想用 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 端(另一个域的)也可以。可能证书有问题,但我看不出有什么问题。
您可能看不出其他任何错误,但我可以:
您说您可以使用浏览器从网络服务器获取根页面没有问题(“该服务是明确可用的”);您是从 NAGIOS 服务器成功做到这一点的吗?我们可以看到一些证据吗?目前,看起来 NAGIOS 非常正确地告诉您服务器根本不提供任何内容。
这是解决此问题的方法!
您必须编辑 /usr/local/nagios/etc/objects/commands.cfg 并将 https 参数“-I”更改为“-H”
这将告诉它查找主机名而不是在服务器配置中的 http_check 块中指定的地址:/usr/local/nagios/etc/servers/yourserver.cfg
从:
至: