Tentei usar o check_http, mas obtive sucesso mesmo que o site seja redirecionado para uma página de erro
Isso pode ser resolvido com check_http --expect
. Aqui está a documentação de check_http --help :
-e, --expect = STRING Lista de seqüências delimitadas por vírgula, pelo menos uma delas é esperada na primeira linha (status) da resposta do servidor (padrão: HTTP / 1.) Se especificado, ignora todas as outras lógicas da linha de status ( ex: processamento 3xx, 4xx, 5xx)
O exemplo a seguir retornará um 'OK' para um código de resposta HTTP 200 OK , mas dará um erro crítico para um redirecionamento 302.
host % check_http --expect=200
HTTP CRITICAL - Invalid HTTP response received from host: HTTP/1.0 301 OK
Para um site seguro (sobre SSL) e autenticação, verifique também o check_http --ssl
e os --authorization
sinalizadores.
-S, --ssl Conecte-se via SSL. O padrão da porta é 443
-a, --authorization = AUTH_PAIR Nome de usuário: senha em sites com autenticação básica
Ou talvez você não queira realmente fazer login no sistema, mas apenas certifique-se de que a página exija um nome de usuário / senha, porque esse nome de usuário / senha pode se tornar uma preocupação de segurança. Nesse caso, tente algo como o seguinte / 401
é o código de resposta HTTP para 'Não autorizado' ou 'Autorização necessária' - isso 401
é obrigatório, a sequência de texto depois é opcional e pode dizer uma de várias coisas diferentes, então só digo ao Nagios esperar 401
.
check_http --expect="401"
check_http
plug-in suporta a-s string
opção que permite procurar por uma determinada string a resposta HTTP. Se a página estiver imprimindo uma sequência específica com êxito, você poderá verificá-la para diferenciá-la do erro.