Nagios Monitoring Text em um site


10

Fiquei me perguntando se eu poderia obter alguma ajuda com o monitoramento de texto em um site. IE Se eu quisesse monitorar google.com pelo texto "Privacidade", pensei em usar o seguinte comando:

check_http -H google.com -u http://www.google.com -s "Privacy"

Mas isto não está funcionando. Eu fico "OK", não importa o que eu coloque entre aspas. Obviamente, estou usando o comando errado ou a opção errada. Por favor ajude.

Respostas:


7

Tente sair coloque o -u. -u fornece o caminho (página) para recuperar, o padrão é "/", não leva o URL inteiro. Aqui está minha saída quando a deixo de fora.

$ ./check_http -H www.google.com -s "Privacy"
HTTP OK HTTP/1.0 200 OK - 0.041 second response time |time=0.040579s;;;0.000000 size=5257B;;;0
$ ./check_http -H www.google.com -s "Privacyblahdibla"
HTTP CRITICAL - string not found|time=0.048169s;;;0.000000 size=5257B;;;0

Se você deseja obter uma página específica, use -u como este

$ ./check_http -H www.google.com -u "/ig" -s "Privacy"
HTTP OK HTTP/1.0 200 OK - 0.166 second response time |time=0.165896s;;;0.000000 size=87843B;;;0

Ainda estou tendo um problema com meu site real que estou tentando monitorar. É isso que recebo ./check_http -H mysite.myschool.edu -u "/ cp / home / displaylogin" -s "dsklajfdl" HTTP OK - HTTP / 1.1 302 encontrado - 0,003 segundo tempo de resposta | tempo = 0,003486s ;;; 0,000000 tamanho = 104B ;;; 0
IOTAMAN 2/09/09

Ou outro exemplo é ./check_http -H mysite.myschool.edu -u "/index.html" -s "dsklajfdl" HTTP OK - HTTP / 1.1 302 encontrado - 0,003 segundo tempo de resposta | tempo = 0,003466s ;;; 0,000000 tamanho = 94B ;;; 0
IOTAMAN 2/09/09

Sim, parece que se um redirecionamento (301 ou 302) for a resposta que a verificação ignora a sequência de pesquisa, o que provavelmente está correto. A resposta é encontrar o URL exato para o qual você está sendo redirecionado. Você deve conseguir fazer isso acessando a página em um navegador. Se isso não funcionar, tente acessá-lo via telnet para ver qual é o valor do cabeçalho Locaction:.
Palehorse

1

Outra opção é usar o check_curl do Monitoringexchange.org. Na realidade, isso é complicado demais para o que você está tentando fazer, mas descobri que estende a funcionalidade quando você precisa para analisar dados de sites e inserir informações

Conteúdo do meu check_curl não variável personalizado abaixo:

 #!/bin/bash
 PROG=/usr/local/bin/curl
 FILE=/tmp/check_curl
 HALT=PRIVACY

 $PROG -k -s http://www.google.com > $FILE

 STATUS=`grep Error $FILE | awk '{ print $0 }'`

 grep -w $HALT $FILE > /dev/null
 if [ $? -eq 0 ]
    then
      WORKING=`grep Privacy $FILE | awk '{ print $5 }'`
      echo "Works, Returns data of $WORKING"
      rm $FILE
 else echo "Doesn't return $WORKING"| $STATUS"
      exit 2
  fi


0

Escrevemos um script perl personalizado usando LWP e HTML :: Tree para procurar por seqüências de caracteres específicas. Também md5sumum algumas páginas onde o conteúdo não muda.


1
Eu mesmo estou feliz com check_http, mas se você está sugerindo esse método como uma solução, talvez forneça o script perl?
Caro,

0

Se eu tiver um problema como este com o plug-in check_http, normalmente eu clico no URL em que estou procurando o texto e examino a saída.

Se você quiser algo que faça um pouco mais do que check_http, como fazer login em um site ou verificar mais de uma string, dê uma olhada no WebInject - é um bom plugin.


0

Você precisa especificar a -eopção para que a -sopção tenha o efeito desejado:

$ ./check_http -H "www.eurocarparts.com" -u / -s "no such string"
OK - HTTP/1.1 302 Found - 0.476 second response time |time=0.475776s;;;0.000000 size=17701B;;;0

$ ./check_http -H "www.eurocarparts.com" -u / -s "no such string" -e 302
CRITICAL - string not found|time=1.633004s;;;0.000000 size=17701B;;;0

$ ./check_http -H "www.eurocarparts.com" -u / -s "0870" -e 302
HTTP OK HTTP/1.1 302 Found - 4.032 second response time |time=4.032120s;;;0.000000 size=17701B;;;0

0

Aqui estão algumas verificações que eu uso.

O primeiro procura o texto CCServerServicee relata um erro se não o vir:

define command {
    command_name  check_cc_v5
    command_line  /usr/local/nagios/libexec/check_http -H $HOSTADDRESS$ -p 8080 -u /CCServer/CCServer --regex=CCServerService -w 3 -c 5 -t 10
}

O segundo verifica o texto errore relata um erro se o vir:

define command {
    command_name  check_wb_pps
    command_line  /usr/local/nagios/libexec/check_http -S -H $HOSTADDRESS$ -u /onlinestore/booking.php --regex=error --invert-regex -w 30 -c 60 -t 90
}
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.