404 পৃষ্ঠা সহ মনিটরের HTTP স্থিতি status


12

আমি 404 বা 403 পৃষ্ঠা দিয়ে HTTP স্থিতি পর্যবেক্ষণ করার চেষ্টা করছি। আপনারা সকলেই জানেন যে মনিত pages পৃষ্ঠাগুলিকে ব্যর্থ সংযোগ হিসাবে গ্রহণ করে তবে আমি কীভাবে এটি পরিবর্তন করতে পারি। আমি কেবল এটি নিরীক্ষণ করতে চাই যে এটি 404 বা 403 পৃষ্ঠাটি দেখায়।

আমার যদি এটি সম্ভব হয় তবে এটি কনফিগার করে এটি পরীক্ষা করে নেওয়া দরকার।

এটি আমার চেক কনফিগারেশন:

check process httpd with pidfile /var/run/httpd.pid
  start program = "/etc/init.d/httpd start"
  stop program = "/etc/init.d/httpd stop"
    if failed host hostname port 80
    protocol HTTP request "/"
    then exec "/bin/bash -c '/bin/echo -e "hostname\thttpd\t3\tFAILED" | /usr/sbin/send_nsca -H nagiosserver -c /etc/send_nsca.cfg; /usr/bin/monit restart nginx;'"

উত্তর:


13

সংস্করণ 5.8 থেকে, মনিতের statusবিকল্প রয়েছে :

STATUS বিকল্পটি HTTP সার্ভারের দ্বারা ফিরে আসা HTTP স্থিতি কোডটি স্পষ্টভাবে পরীক্ষা করতে ব্যবহার করা যেতে পারে। যদি ব্যবহার না করা হয় তবে স্থিতি কোডটি 400 এর চেয়ে বেশি বা তার সমান হলে http প্রোটোকল পরীক্ষাটি ব্যর্থ হবে status আপনি স্থিতি যোগ্যতা ব্যবহার করে এই আচরণটি ওভাররাইড করতে পারেন।

উদাহরণস্বরূপ, পরীক্ষা করার জন্য যে কোনও পৃষ্ঠার অস্তিত্ব নেই (404 এক্ষেত্রে ফিরে আসা উচিত):

if failed
   port 80
   protocol http
   request "/non/existent.php"
   status = 404
then alert

6

statusআমার জন্য কাজ (monit 5.6) না। আমি মনে করি এটি 5.8 থেকে সমর্থিত?

আমি স্ক্রিপ্ট দিয়ে শেষ করেছি যা কার্ল ব্যবহার করে:

#!/bin/bash
# source: /etc/monit/bin/http-check.sh

url="http://user:password@domain.com/test_link/index.php"

response=$(curl -sL -w "%{http_code}\\n" $url | grep 404)

if [ "$response" = "404" ]
then
  exit 0
else
  exit 1
fi

তারপরে আমি নীচের মনিট কনফিগারেশন যুক্ত করেছি

check program http-check with path "/etc/monit/bin/http-check.sh"
  if status != 0
  then alert
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.