Script per il monitoraggio del carico della CPU via email
Se vi serve uno script per monitorare il carico della CPU di un server, e che vi invii una email quando il carico è troppo alto, potete usare qualcosa di complesso come Nagios oppure accontentarvi di un semplice script come quello che vedremo.
Questo script è trattto dall'originale dell'USA Linux Users Group che trovate qui.
I vantaggi di questo script sono:
- Semplice da installare
- Invia una email quando il carico supera una soglia e una seconda email quando torna sotto una seconda soglia più bassa
- Rende disponibili statistiche sullo stato del sistema in un file disponibile su web e protetto da un .htaccess
Per installarlo vanno seguiti questi punti:
- Scaricare il file
- Copiarlo in una directory cpuload (ad es. in /usr/local/cpuload)
- Modificarne i parametri presenti all'inizio. In particolare:
- roothttp
- Percorso alla directory / di un sito installato sul server.
- installdir
- La directory in cui è stato installato lo script.
- highlimit
- Il limite di carico sopra il quale viene inviata una email di attenzione.
- lowlimit
- Il limite di carico sotto il quale lo stato torna normale
- indirizzoemail
- L'email a cui inviare i messaggi di attenzione
- Creare le seguenti directory:
- $roothttp/cpuload
- $installdir/tmp
- Dentro $roothttp/cpuload creare un file .htaccess fatto così:
AuthName "Login to the Private Area"
AuthType Basic
AuthUserFile /DIR/WEB/NON/ACCESSIBILE/.htpasswd
Require user UTENTE
In cui /DIR/WEB/NON/ACCESSIBILE è una directory non accessibile da web ma comunque leggibile dall'utente con cui gira apache; il file .htpasswd conterrà la password per l'utente UTENTE. - Creare il file .htpasswd nella directory del punto precedente, usando
il seguente comando:
htpasswd -cmb .htpasswd UTENTE PASSWORD
Sostituendo UTENTE con il nome dell'utente scelto (lo stesso che è nel file .htaccess) e PASSWORD con la password scelta. - Controllare che nella configurazione di Apache (/etc/apache2/apache.conf)
sia presente la direttiva
AllowOverride AuthConfig
(eventualmente fosseAllowOverride Nonesostituirla) - Creare una voce nella crontab di root, usando il comando:
crontab -e
fatta così:
*/5 * * * * /DIR/DI/INSTALLAZIONE/cpuload-script
In questo modo, lo script viene eseguito ogni cinque minuti.
Una volta effettuate tutte queste operazioni, lo script è attivo. Attenzione: conviene fare delle prove per tarare bene i livelli, in modo che il numero delle email non sia eccessivo.
