Я хочу проверить доступность веб-сайта SSL (https) с помощью nagios.
Я добавил команду в 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 (другого домена), все в порядке. Возможно, что-то не так с сертификатом, но я не вижу никаких проблем.
Возможно, вы не заметите ничего плохого, но я могу:
[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 совершенно правильно сообщает вам, что сервер вообще не выдает никакого контента.
Вам необходимо отредактировать /usr/local/nagios/etc/objects/commands.cfg и изменить https arument От «-I» до «-H»
Это укажет ему на поиск имени хоста вместо dip-адреса, указанного в вашем блоке http_check в конфигурации сервера: /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$
}