Monitorare un Server Web con uno Script

Ci sono diverse soluzioni che permettono di fare monitoring di un macchina in rete. Ne ho trovata una interessante, gratuita e semplice da implementare.
Si tratta di un piccolo script shell che ho attivato sul server Dreamhost che mi fa da monitor per il server dedicato Serverplan.
Nel mio caso, da Dreamhost effettuo un ping ogni ora sulla macchina che voglio monitorare. Se la macchina non risponde al ping, allora parte una mail con la notifica.
Per fare questa cosa sarà sufficiente avere a disposizione una shell unix. Io ad esempio utilizzo la shell messa a disposizione da Dreamhost, ma se avete un server a casa vostra sempre acceso il risultato sarà lo stesso.
Questo è lo script che che va utilizzato:
-
#!/bin/bash
-
# Simple SHELL script for Linux and UNIX system monitoring with
-
# ping command
-
# -------------------------------------------------------------------------
-
# Copyright (c) 2006 nixCraft project
-
# This script is licensed under GNU GPL version 2.0 or above
-
# -------------------------------------------------------------------------
-
# This script is part of nixCraft shell script collection (NSSC)
-
# Visit http://bash.cyberciti.biz/ for more information.
-
# -------------------------------------------------------------------------
-
# Setup email ID below
-
# See URL for more info:
-
# http://www.cyberciti.biz/tips/simple-linux-and-unix-system-monitoring-with-ping-command-and-scripts.html
-
# -------------------------------------------------------------------------
-
-
# add ip / hostname separated by while space
-
HOSTS="cyberciti.biz theos.in router"
-
-
# no ping request
-
COUNT=1
-
-
# email report when
-
SUBJECT="Ping failed"
-
EMAILID="me@mydomain.com"
-
for myHost in $HOSTS
-
do
-
count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
-
if [ $count -eq 0 ]; then
-
# 100% failed
-
echo "Host : $myHost is down (ping failed) at $(date)" | mail -s "$SUBJECT" $EMAILID
-
fi
-
done
Nello script va inserita la propria mail e gli host che si vogliono controllare. Successivamente andrrà schedulato per essere eseguito ogni tot di tempo.Diciamo che ogni mezz'ora/ora dovrebbe essere più che sufficiente.
Per i possessori di Dreamhost, questo passo può essere benissimo fatto dal pannello di amministrazione (Goodies -> Cronjob)
Configurazione Cron Jobs su Dreamhost
Se conosci altre soluzioni, i commenti sono a tua completa disposizione
3 Commenti »
Puoi lasciare una risposta, oppure fare un trackback dal tuo sito.




1
Stefano Ubbiali dice:
Ottimo! Molto interessante!
Pubblicato il 12 09 2008 alle 19:57
2
AranBanjo dice:
Avendo voglia e/o tempo si potrebbe installare nagios, che permette di effettuare altre decine di controlli
Ciau
Pubblicato il 12 09 2008 alle 22:44
3
Daniele dice:
@ AranBanjo:
Potresti darci più indicazioni su questo nagios ? E’ free.. ? Cos’è ?
Pubblicato il 13 09 2008 alle 15:05