При мониторинге службы SSL на хосте, который работает по протоколу HTTPS, но не по протоколу HTTP, Icinga предупреждает о коде возврата 403 Forbidden. Но это предупреждение касается HTTP, а не HTTPS.
Выполнение команды check_http вручную с параметром -S или --ssl возвращает код 200 OK (и ответ 403 Forbidden при запуске только с HTTP).
Но автоматическая проверка службы возвращает ошибку 403 с любым переключателем - check_http! -S или check_http! - ssl.
Icinga не жалуется на другие хосты SSL, контролируемые с помощью этой проверки службы, возможно потому, что все они также используют HTTP.
Icinga использует плагины Nagios, поэтому я думаю, что это либо проблема Nagios, либо (что более вероятно) проблема конфигурации.
Как исправить этот ошибочный отчет? На хосте работает служба SSL.
Это для Icinga 1.7.1-7, работающего на Debian wheezy. Спасибо!
Вы не можете просто передать "-S" или "--ssl" в качестве ARG для проверки, если это специально не написано для этого.
Иди посмотри на /etc/nagios-plugins/config/http.cfg
, и все должно быть ясно. Пакеты Debian поставляются с более чем дюжиной различных команд check_http для различных случаев использования. Вы, вероятно, захотите использовать check_https
или его вариант.
Для получения дополнительной информации см. Макросы и как они работают документы
Небольшое дополнение к ответу Кита: в настоящее время Icinga2 в Debian может включать /usr/share/icinga2/include/command-plugins.conf
вместо того /etc/nagios-plugins
, что не дублирует автоматически $HOSTADDRESS$
макрос для -H
вариант.
Таким образом, check_http в конечном итоге запрашивает vhost по умолчанию для IP-адреса хоста, что может незаметно дать неожиданные результаты.
Узнав об этой ошибке, моя основная служба config. теперь выглядит так:
apply Service "check_https" {
import "generic-service"
check_command = "http"
vars.http_warn_time = 10
vars.http_critical_time = 50
vars.http_vhost = "$address$"
vars.http_ssl = true
vars.http_sni = true
vars.sla = "24x7"
check_interval = 5m
retry_interval = 2m
assign where "https-website" in host.groups
}