मैंने check_http का उपयोग करने की कोशिश की है, लेकिन मुझे सफलता मिलती है, भले ही वेबसाइट एक त्रुटि पृष्ठ पर पुनर्निर्देशित हो
इससे हल किया जा सकता है check_http --expect
। यहाँ check_http --help से प्रलेखन है :
-e, --expect = स्ट्रिंग्स की कोमा-सीमांकित सूची STRING, उनमें से कम से कम एक सर्वर रिस्पांस की पहली (स्थिति) लाइन में अपेक्षित है (डिफ़ॉल्ट: HTTP / 1।) यदि निर्दिष्ट सभी अन्य स्टेटस लाइन लॉजिक को छोड़ देता है ( पूर्व: 3xx, 4xx, 5xx प्रसंस्करण)
निम्न उदाहरण 200 ओके HTTP प्रतिक्रिया कोड के लिए 'ओके' लौटाएगा , लेकिन 302 रीडायरेक्ट के लिए एक महत्वपूर्ण त्रुटि देगा।
host % check_http --expect=200
HTTP CRITICAL - Invalid HTTP response received from host: HTTP/1.0 301 OK
एक सुरक्षित वेबसाइट (एसएसएल पर), और प्रमाणीकरण के लिए, check_http --ssl
और --authorization
झंडे भी देखें।
-S, - एसएसएल के माध्यम से कनेक्ट करें। पोर्ट 443 में डिफॉल्ट करता है
-a, --authorization = AUTH_PAIR उपयोगकर्ता नाम: मूल प्रमाणीकरण वाली साइटों पर पासवर्ड
या, शायद आप वास्तव में सिस्टम में लॉग इन नहीं करना चाहते हैं, लेकिन यह सुनिश्चित करना चाहते हैं कि पेज को उपयोगकर्ता नाम / पासवर्ड की आवश्यकता है, क्योंकि उपयोगकर्ता नाम / पासवर्ड सुरक्षा चिंता का विषय बन सकता है। उस स्थिति में, निम्नलिखित की तरह कुछ आज़माएं / 401
'अनधिकृत' या 'प्राधिकरण आवश्यक' के लिए HTTP प्रतिक्रिया कोड है - 401
यह अनिवार्य है, पाठ स्ट्रिंग बाद में वैकल्पिक है और कई अलग-अलग चीजों में से एक कह सकता है, इसलिए मैं सिर्फ Nagios बताता हूं उम्मीद करना 401
।
check_http --expect="401"
check_http
प्लगइन का समर्थन करता है-s string
विकल्प है जो आप निश्चित स्ट्रिंग HTTP प्रतिक्रिया देखने के लिए सक्षम बनाता है। यदि पृष्ठ सफलता पर एक विशिष्ट स्ट्रिंग मुद्रित कर रहा है, तो आप इसे त्रुटि से अलग करने के लिए जांच सकते हैं।