nagios - Tempo limite do soquete CRÍTICO HTTP após 10/20/60 segundos

3

Acabei de instalar o nagios em uma máquina servidora, apenas para ser recebido com um erro crítico no serviço HTTP.

o erro é

HTTP CRITICAL - Socket timeout after 10 seconds 

Eu procurei por esse erro e recebi a sugestão de executar check_http com um tempo limite maior. então eu adicionei -t 20 no arquivo commands.cfg , ao lado do comando "check_http". reiniciado nagios mas ainda recebo um erro (para o novo tempo limite).

Em seguida, pesquisou algumas mais . O erro parece comum, então começo a pensar que talvez tenha algum outro problema.

Eu tentei executar o check_http sozinho:

root@srv$ /usr/libexec/nagios/check_http -H localhost -N -p 80 -t 1

HTTP OK: HTTP/1.1 200 OK - 846 bytes in 0.003 second response time |time=0.003080s;;;0.000000 size=846B;;;0

A resposta parece boa, mas eu sei pouco sobre http.

Alguma pista?

EDIT: a definição de comando para check_http , retirada de /etc/nagios/objects/commands.cfg é

# 'check_http' command definition
define command{
        command_name    check_http
        command_line    $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
        }

Não sei como verificar quais são os valores das variáveis $ HOSTADDRESS $ e mais importante $ ARG1 $.

então a definição do serviço é

define service{
    use                             local-service         ; Name of service template to use
    host_name                       localhost
    service_description             HTTP
    check_command                   check_http
    notifications_enabled           1
    }

a distribuição é slackware 14.0 64bit.

    
por nass 07.08.2013 / 17:05

3 respostas

1

Seu comando de seleção não corresponde ao seu teste manual.

Se você quiser que o Nagios realize a verificação da mesma forma que você está testando manualmente, sua definição de serviço teria que ser assim devido à maneira como seu comando de verificação é definido:

define service{
    use                             local-service
    host_name                       localhost
    service_description             HTTP
    check_command                   check_http!-N -p 80 -t 1
    notifications_enabled           1
}

... e você também teria que ter "localhost" como o endereço desse host.

(Mas um tempo limite de 1 segundo é curto).

    
por 09.08.2013 / 22:55
0

O plugin check_http faz o equivalente a tentar carregar uma página da web a partir de um IP externo. Verifique se você pode carregar a página da Web em seu navegador e se o plug-in funciona na linha de comando com a mesma definição de host especificada nos arquivos de configuração (FQDN ou número IP).

Se você estiver realmente verificando localhost, tente-o com 127.0.0.1, e também tente usar algo como wget para verificar se o host local realmente tem permissão para carregar páginas da web de si mesmo ( wget http://127.0.0.1 ). Isso também funcionará para outros sites ( wget http://www.yourdomain.com ).

    
por 07.08.2013 / 18:33
0

As variáveis que você pergunta $ HOSTADDRESS $ $ HOSTNAME $ e assim por diante é como perguntar pelo campo ADDRESS da definição HOST, mesmo para $ SERVICEXXXX $. O $ ARG1 $ é o que espera depois do! na sua definição de comando como já foi dito.

Neste caso particular:

check_command                   check_http!-N -p 80 -t 1

$ ARG1 $ = -N -p 80 -t 1 // - p 80 não é necessário, pois 80 é o padrão para http.

Espero que isso ajude você a entender as macros do Nagios.

    
por 12.01.2014 / 05:35