Approfondimenti e Strategie di Web Marketing

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:

CODE:
  1. #!/bin/bash
  2. # Simple SHELL script for Linux and UNIX system monitoring with
  3. # ping command
  4. # -------------------------------------------------------------------------
  5. # Copyright (c) 2006 nixCraft project
  6. # This script is licensed under GNU GPL version 2.0 or above
  7. # -------------------------------------------------------------------------
  8. # This script is part of nixCraft shell script collection (NSSC)
  9. # Visit http://bash.cyberciti.biz/ for more information.
  10. # -------------------------------------------------------------------------
  11. # Setup email ID below
  12. # See URL for more info:
  13. # http://www.cyberciti.biz/tips/simple-linux-and-unix-system-monitoring-with-ping-command-and-scripts.html
  14. # -------------------------------------------------------------------------
  15.  
  16. # add ip / hostname separated by while space
  17. HOSTS="cyberciti.biz theos.in router"
  18.  
  19. # no ping request
  20. COUNT=1
  21.  
  22. # email report when
  23. SUBJECT="Ping failed"
  24. EMAILID="me@mydomain.com"
  25. for myHost in $HOSTS
  26. do
  27. count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
  28. if [ $count -eq 0 ]; then
  29. # 100% failed
  30. echo "Host : $myHost is down (ping failed) at $(date)" | mail -s "$SUBJECT" $EMAILID
  31. fi
  32. 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 :-)

CEO e Founder di Endivia Web Agency. Endivia si propone come Traffic Buyer per aiutare le aziende nelle loro molteplici esigenze che però convergono tutte su un’unico obiettivo: trovare più clienti per il proprio business e aumentare il traffico ai propri siti.
Daniele Salamina
Ricevi gratuitamente gli ultimi articoli via mail*.

*Non riceverai nessuna mail di spam e potrai cancellarti con un click!

3 Commenti »

Puoi lasciare una risposta, oppure fare un trackback dal tuo sito.


3 Risposte a “Monitorare un Server Web con uno Script”

  1. 1

    Stefano Ubbiali dice:

    Ottimo! Molto interessante! ;)

  2. 2

    AranBanjo dice:

    Avendo voglia e/o tempo si potrebbe installare nagios, che permette di effettuare altre decine di controlli :)

    Ciau

  3. 3

    Daniele dice:

    @ AranBanjo:
    Potresti darci più indicazioni su questo nagios ? E’ free.. ? Cos’è ? :D

Lascia un commento




Il tuo commento: