Nagios procura por um arquivo em um site

1

Eu quero criar uma verificação de nagios que teste se um determinado arquivo está disponível em um site público e se esse arquivo contiver uma determinada linha de texto.

Na linha de comando que estou executando:

./check_http -H 192.168.1.2 -u http://192.168.1.2/index.html -t 5 -s "Company Name"

Que passa OK e falha se eu excluir o arquivo ou alterar o texto que ele está procurando.

Agora eu quero incorporar isso em meus arquivos de configuração nagios.

Eu crio um host que tem o endereço do endereço IP acima e crie um serviço da seguinte forma.

check_command check_http!-u /index.html -t 5 -s "Company Name"

Mas se eu alterar o nome do arquivo que está verificando ou o texto que está verificando, ele ainda passa, mesmo sabendo que eles não existem no site.

O que estou fazendo de errado? Acho que devo testar um arquivo diferente ou algo assim para sempre passar.

    
por Simon Foster 02.06.2009 / 15:20

3 respostas

3

Quando você está executando o comando manualmente, está chamando / usr / lib / nagios / plugins / check_http correto?

Quando você está chamando check_http da configuração nagios, ele procura em /etc/nagios-plugins/config/http.cfg para determinar o check_http argumentos de comando.

O que você precisa fazer é criar uma verificação personalizada como:

define command {
    command_name                   check_web_content
    command_line                   $USER1$/check_http -H $HOSTADDRESS$ -t 60 -w 15 -c 45 -u $ARG1$ -s $ARG2$

}

Em seguida, na sua configuração de serviço, seu comando check_ deve ser algo como:

check_command check_web_content!http://www.domain.com/index.html!"Text on site"
    
por 02.06.2009 / 15:33
6

Primeiro, você precisa definir um comando:

define command {
    command_name    check_http
    command_line    $USER1$/check_http -H $HOSTADDRESS$ \
                    -u $ARG1$ -t $ARG2$ -s $ARG3$
}

Em seguida, para sua entrada de host, defina o check_command da seguinte forma:

check_command    check_http!/index.html!5!"Company Name"
    
por 02.06.2009 / 15:32
3

Você pode definir o seguinte na configuração do Nagios e ver qual comando é realmente executado (veja a expansão do comando completo):

debug_level=-1
debug_verbosity=2
debug_file=/usr/local/nagios/var/nagios.debug
    
por 02.06.2009 / 15:35