Nagios Web Sitesindeki Metni İzleme


10

Bir web sitesinde metin izleme konusunda yardım alıp alamayacağımı merak ediyordum. IE "Gizlilik" metni için google.com'u izlemek istersem, aşağıdaki komutu kullanacağımı düşündüm:

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

Ama bu çalışmıyor. Tırnak işaretleri ne olursa olsun "Tamam" ı alıyorum. Açıkçası yanlış komutu veya yanlış seçeneği kullanıyorum. Lütfen yardım et.

Yanıtlar:


7

-U terimini bırakmayı deneyin. -u alınacak yolu (sayfa) verir, varsayılan "/" dır, URL'nin tamamını almaz. Dışarıda bıraktığımda çıktılarım burada.

$ ./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

Belirli bir sayfa almak istiyorsanız, -u kullanın

$ ./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

Hala izlemeye çalıştığım gerçek web sitemle ilgili bir sorun yaşıyorum, bu ne ./check_http -H mysite.myschool.edu -u "/ cp / home / displaylogin" -s "dsklajfdl" HTTP Tamam - HTTP / 1.1 302 Bulunan - 0.003 saniye tepki süresi | zaman = 0.003486s ;;; 0.000000 boyutu = 104B ;;; 0
IOTAMAN 02

Ya da başka bir örnek ./check_http -H okulum.myschool.edu -u "/index.html" -s "dsklajfdl" HTTP Tamam - HTTP / 1.1 302 Bulunan - 0.003 saniye tepki süresi | zaman = 0.003466s ;;; 0.000000 boyutu = 94B ;;; 0
IOTAMAN 02

Evet, bir yönlendirme (301 veya 302), denetimin arama dizesini yok saydığı yanıtsa, muhtemelen doğru. Cevap, yönlendirildiğiniz URL'yi bulmaktır. Bunu, bir tarayıcıdaki sayfaya giderek yapabilmeniz gerekir. Bu işe yaramazsa, Konum: başlık değerinin ne olduğunu görmek için telnet üzerinden erişmeyi deneyin.
palehorse

1

Başka bir seçenek, trackingexchange.org adresinden check_curl öğesini kullanmaktır. Gerçekte bu, yapmaya çalıştığınız şey için çok karmaşık bir titch, ancak web sitelerinden veri ayrıştırmak ve girdi eklemek için ihtiyacınız olduğunda işlevselliği genişlettiğini gördüm.

Aşağıda benim özelleştirilmiş değişken olmayan check_curl içeriği:

 #!/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

Belirli dizeleri aramak için LWP ve HTML :: Tree kullanarak özel bir perl betiği yazdık. Ayrıca, içeriğin değişmediği bazı sayfalar md5sum.


1
Kendimi check_http ile mutluyum ama bu yöntemi bir çözüm olarak önermek, belki de perl komut dosyası sağlamak?
Pahalı

0

Check_http eklentisi ile böyle bir sorunla karşılaşırsam, genellikle metni aradığım URL'yi wget edip çıktıyı incelerim.

Bir web sitesine giriş yapmak veya birden fazla dizeyi kontrol etmek gibi check_http'den biraz daha fazlasını yapan bir şey istiyorsanız, WebInject'e bir göz atın - güzel bir eklentidir.


0

İstenen efekti elde etmek için -eseçenek belirtmeniz gerekir -s:

$ ./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

İşte kullandığım birkaç kontrol.

Birincisi metni arar CCServerServiceve görmezse bir hata raporlar:

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
}

İkincisi metni kontrol eder errorve görürse bir hata raporlar:

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
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.