Jeden z mnoha:
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
Zde je způsob, jak to udělat pomocí wget místo curl. Mějte na paměti, že MacOS standardně neobsahuje wget.
Úspěšný webový požadavek vrátí kód 200, neúspěšný vrátí 300, 400, 404 atd... (viz kódy REST API)
Tento řádek vrátí 1
pokud byl webový požadavek úspěšný, jinak vrátí 0
wget -q -O /tmp/foo google.com | grep '200' /tmp/foo | wc -l
1
Plugin Nagios check_http to umí a mnohem více, včetně kontroly konkrétního textu v odpovědi. Můžete jej spustit ze skriptu shellu nezávisle na samotném Nagios:
$ 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
Existuje způsob, jak vyloučit konkrétní hostitele z hostitelské skupiny Nagios?
DDNS, BIND a zbylé soubory .jnl