Назад | Перейти на главную страницу

Nagios не выполняет перенаправление с помощью check_http

В настоящее время для тестирования я установил проверку службы следующим образом:

define service{
use     generic-service 
host_name       <host>
service_description HTTP
check_command   check_http!-s "blablabla" -f follow
}

Обратите внимание, что на странице нет строки «blablabla», это просто для тестирования.

Nagios сообщает

HTTP OK: HTTP/1.1 301 Moved Permanently - 294 bytes in 6.607 second response time
Performance Data:   time=6.606636s;;;0.000000 size=294B;;;0

Однако, если я запускаю плагин check_http напрямую, я получаю следующее:

<user>@<nagiosbox>:/usr/lib/nagios/plugins# ./check_http -H <host> -s "blablabla" -f follow
HTTP CRITICAL: HTTP/1.1 200 OK - string 'blablabla' not found on 'http://<host>:80/' - 92654 bytes in 3.984 second response time |time=3.983636s;;;0.000000 size=92654B;;;0

Вы уверены, что вызываете один и тот же плагин с теми же аргументами? Мне кажется, вы неправильно определили сервис. Обычно аргументы передаются без таких опций, как:

check_command   check_http!blablabla!follow

Они пронизаны !. В определении команды вы можете указать правильные параметры плагина check_http, например:

# 'check_http' command definition
define command{
        command_name    check_http
        command_line    /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' -s '$ARG1$' -f '$ARG2$'
        }

Аргументы $ARG1$ и $ARG2$ будут заменены реальными значениями, которые вы указали в определении службы.