Saya telah mencoba menggunakan check_http tetapi saya mendapatkan kesuksesan walaupun situs web dialihkan ke halaman kesalahan
Ini bisa diselesaikan dengan check_http --expect
. Berikut ini dokumentasi dari check_http --help :
-e, --expect = STRING Daftar string yang dibatasi koma, setidaknya satu dari mereka diharapkan pada baris pertama (status) dari respons server (default: HTTP / 1.) Jika ditentukan, lewati semua logika baris status lainnya ( mis: pemrosesan 3xx, 4xx, 5xx)
Contoh berikut akan mengembalikan 'OK' untuk 200 kode respons HTTP OK , tetapi akan memberikan kesalahan kritis untuk 302 redirect.
host % check_http --expect=200
HTTP CRITICAL - Invalid HTTP response received from host: HTTP/1.0 301 OK
Untuk situs web yang aman (lebih dari SSL), dan otentikasi, periksa juga check_http --ssl
dan --authorization
bendera.
-S, --ssl Terhubung melalui SSL. Port default ke 443
-a, --authorization = AUTH_PAIR Nama pengguna: kata sandi di situs dengan otentikasi dasar
Atau, mungkin Anda sebenarnya tidak ingin masuk ke sistem tetapi hanya ingin memastikan bahwa halaman tersebut memerlukan nama pengguna / kata sandi, karena nama pengguna / kata sandi tersebut dapat menjadi masalah keamanan. Dalam hal ini, coba sesuatu seperti berikut / 401
adalah kode respons HTTP untuk 'Tidak Diotorisasi' atau 'Diperlukan Otorisasi' - 401
wajib, string teks setelahnya adalah opsional dan dapat mengatakan salah satu dari beberapa hal yang berbeda, jadi saya hanya memberi tahu Nagios mengharapkan 401
.
check_http --expect="401"
check_http
Plugin mendukung-s string
opsi yang memungkinkan Anda untuk mencari string yang tertentu respon HTTP. Jika halaman mencetak string tertentu pada kesuksesan, Anda dapat memeriksanya untuk membedakannya dari kesalahan.