Salah satu dari banyak:
if curl -s --head --request GET https://example.com | grep "200 OK" > /dev/null; then
echo "mysite.com is UP"
else
echo "mysite.com is DOWN"
fi
Berikut ini cara melakukannya menggunakan wget alih-alih curl. Perlu diingat bahwa MacOS tidak hadir dengan wget secara default.
Permintaan web yang berhasil akan mengembalikan kode 200, kegagalan akan mengembalikan 300, 400, 404, dll... (lihat kode REST API)
Baris ini akan mengembalikan 1
jika permintaan web berhasil, jika tidak maka akan mengembalikan 0
wget -q -O /tmp/foo google.com | grep '200' /tmp/foo | wc -l
1
Plugin check_http Nagios dapat melakukan ini dan banyak lagi, termasuk memeriksa teks tertentu dalam respons. Anda dapat menjalankannya dari skrip shell secara terpisah dari nagios itu sendiri:
$ check_http --ssl -H www.google.com -r 'Feeling Lucky'
HTTP OK: HTTP/1.1 200 OK - 11900 bytes in 0.086 second response time |time=0.085943s;;;0.000000 size=11900B;;;0
$ echo $?
0
Apakah ada cara untuk mengecualikan host tertentu dari grup host Nagios?
DDNS, BIND, dan file .jnl sisa