Check_http kullanmayı denedim ama web sitesi bir hata sayfasına yönlendirilse bile başarı elde ediyorum
Bu ile çözülebilir check_http --expect
. Check_http --help dokümanları :
-e, --expect = STRING Virgülle ayrılmış dizeler listesi, sunucu yanıtının ilk (durum) satırında en az bir tanesi bekleniyor (varsayılan: HTTP / 1.) Belirtilirse diğer tüm durum satırı mantığını atlar ( ör .: 3xx, 4xx, 5xx işleme)
Aşağıdaki örnek, 200 OK HTTP yanıt kodu için 'Tamam' döndürür , ancak 302 yönlendirmesi için kritik bir hata verir.
host % check_http --expect=200
HTTP CRITICAL - Invalid HTTP response received from host: HTTP/1.0 301 OK
Güvenli bir web sitesi (SSL üzerinden) ve kimlik doğrulama için check_http --ssl
ve --authorization
bayraklara da göz atın .
-S, --ssl SSL ile bağlanın. Bağlantı noktası varsayılan değeri 443'tür
-a, --authorization = AUTH_PAIR Kullanıcı adı: temel kimlik doğrulaması olan sitelerde şifre
Veya, aslında sisteme giriş yapmak istemezsiniz, ancak sayfanın bir kullanıcı adı / şifre gerektirdiğinden emin olmak istersiniz, çünkü bu kullanıcı adı / şifre bir güvenlik sorunu haline gelebilir. Bu durumda, aşağıdaki gibi bir şey deneyin / 401
'Yetkisiz' veya 'Yetkilendirme Gerekli' için HTTP yanıt kodudur - 401
zorunludur, daha sonra metin dizesi isteğe bağlıdır ve birkaç farklı şeyden birini söyleyebilir, bu yüzden sadece Nagios'a söylüyorum beklemek 401
.
check_http --expect="401"
check_http
Eklenti destekler-s string
belli dize HTTP yanıt aramaya sağlar seçeneği. Sayfa başarılı bir şekilde belirli bir dize yazdırıyorsa, onu hatadan ayırt etmek için kontrol edebilirsiniz.