Nagios ตรวจสอบข้อความบนเว็บไซต์


10

ฉันสงสัยว่าฉันสามารถรับความช่วยเหลือเกี่ยวกับการตรวจสอบข้อความบนเว็บไซต์ได้ไหม IE หากฉันต้องการตรวจสอบ google.com สำหรับข้อความ "ความเป็นส่วนตัว" ฉันคิดว่าฉันจะใช้คำสั่งต่อไปนี้:

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

แต่มันไม่ทำงาน ฉันได้รับ "ตกลง" ไม่ว่าฉันจะใส่เครื่องหมายคำพูดอะไร เห็นได้ชัดว่าฉันใช้ทั้งคำสั่งที่ไม่ถูกต้องหรือตัวเลือกที่ผิด กรุณาช่วย.

คำตอบ:


7

ลองปล่อยให้ใส่ -u -u ให้เส้นทาง (หน้า) เพื่อดึงค่าเริ่มต้นคือ "/" มันไม่ได้ใช้ URL ทั้งหมด นี่คือผลลัพธ์ของฉันเมื่อฉันปล่อยมันออกมา

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

หากคุณต้องการได้หน้าเฉพาะให้ใช้ -u เช่นนี้

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

ฉันยังคงมีปัญหากับเว็บไซต์จริงของฉันที่ฉันพยายามตรวจสอบนี่คือสิ่งที่ฉันได้รับ /check_http -H mysite.myschool.edu -u "/ cp / home / displaylogin" -s "dsklajfdl" HTTP OK - HTTP / 1.1 302 พบ - เวลาตอบสนอง 0.003 วินาที | เวลา = 0.003486s ;; 0.000000 ขนาด = 104B ;;; 0
IOTAMAN

หรืออีกตัวอย่างหนึ่งคือ. /check_http -H mysite.myschool.edu -u "/index.html" -s "dsklajfdl" HTTP ตกลง - HTTP / 1.1 302 พบ - 0.003 วินาทีเวลาตอบสนอง | เวลา = 0.003466 ขนาด ;; 0.000000 ขนาด = 94B ;;; 0
IOTAMAN

ใช่ดูเหมือนว่าหากการเปลี่ยนเส้นทาง (301 หรือ 302) เป็นการตอบสนองที่การตรวจสอบละเว้นสตริงการค้นหาซึ่งอาจถูกต้อง คำตอบคือการค้นหา URL ที่แน่นอนที่คุณจะถูกเปลี่ยนเส้นทางไป คุณควรจะทำได้โดยไปที่หน้าในเบราว์เซอร์ หากวิธีนี้ไม่ได้ผลให้ลองเข้าถึงผ่านทาง telnet เพื่อดูว่าค่าส่วนหัว Locaction: คืออะไร
palehorse

1

อีกตัวเลือกหนึ่งคือใช้ check_curl จาก monitoringexchange.org ในความเป็นจริงมันเป็นเรื่องซับซ้อนเกินไปสำหรับสิ่งที่คุณพยายามทำ แต่ฉันพบว่ามันขยายฟังก์ชั่นเมื่อคุณต้องการใช้ในการแยกวิเคราะห์ข้อมูลจากเว็บไซต์และการป้อนข้อมูล

เนื้อหาของ check_curl ที่ไม่ใช่ตัวแปรที่กำหนดเองของฉันด้านล่าง:

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

เราเขียนสคริปต์ Perl ที่กำหนดเองโดยใช้ LWP และ HTML :: Tree เพื่อค้นหาสตริงเฉพาะ เราเพียงแค่ md5sum บางหน้าซึ่งเนื้อหาไม่เปลี่ยนแปลง


1
ฉันมีความสุขกับ check_http แต่ถ้าคุณแนะนำวิธีนี้เป็นวิธีแก้ปัญหาอาจให้สคริปต์ Perl หรือไม่
ราคาแพง

0

หากฉันได้รับปัญหาเช่นนี้กับปลั๊กอิน check_http ฉันมักจะรับ URL ที่ฉันกำลังค้นหาข้อความอยู่จากนั้นตรวจสอบผลลัพธ์

ถ้าคุณต้องการบางสิ่งที่ทำมากกว่า check_http เช่นการเข้าสู่เว็บไซต์หรือตรวจสอบมากกว่าหนึ่งสายให้ดูที่WebInjectซึ่งเป็นปลั๊กอินที่ดี


0

คุณต้องระบุ-eตัวเลือกสำหรับ-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

ต่อไปนี้เป็นสองเช็คที่ฉันใช้

ครั้งแรกที่ค้นหาข้อความCCServerServiceและรายงานข้อผิดพลาดหากไม่เห็น:

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
}

ที่สองตรวจสอบข้อความerrorและรายงานข้อผิดพลาดถ้ามันเห็น:

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
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.