Monit: monitora il demone Linux, il file system, la CPU, i file e la rete
MONITORAGGIO è una piccola utility Linux progettata per gestire e monitorare processi, programmi, file system, directory e file. Puoi fargli eseguire la manutenzione e la riparazione automatiche ed eseguire azioni causali significative in situazioni di errore. È possibile utilizzare Monit per monitorare file, directory e file system per modifiche quali modifiche di timestamp, modifiche al checksum o modifiche alle dimensioni. Monit registra in syslog o nel proprio file di registro e notifica le condizioni di errore tramite messaggi di avviso personalizzabili. Può anche eseguire vari controlli di rete TCP/IP, controlli di protocollo e utilizzare SSL per tali controlli.
Monit può essere utilizzato tramite un’interfaccia web a cui puoi accedere tramite il tuo browser web preferito.
Come installare Monitor
Per installare monit sulla distribuzione Debian/Ubuntu puoi usare apt-get in questo modo:
# apt-get install monit
Su Fedora, puoi usare yum per installarlo dal repository:
# yum install monit
Per installarlo su CentOS/RHEL dovrai utilizzare Dag Rpmforge e poi installalo con lo stesso comando yum.
File di configurazione
Monit è configurato e controllato da un file di controllo chiamato monitrc. La posizione predefinita per questo file è ~/.monitrc se non disponibile utilizzerà /etc/monit/monitrc. Lo script di esecuzione in /etc/init.d/monit utilizzerà anche /etc/monit/monitrc. Per proteggere la sicurezza del file di controllo e delle password, il file di controllo deve avere permessi non superiori a 0700; Monit si lamenterà e uscirà altrimenti.
Attualmente sono accettati otto tipi di dichiarazioni di controllo:
VERIFICA DEL PROCESSO
CONTROLLA LA SCHEDA
CONTROLLA FIFO
CONTROLLA IL FILE SYSTEM
CONTROLLA LA RUBRICA
CONTROLLA HOST
L’indirizzo host può essere specificato come stringa del nome host o come stringa dell’indirizzo IP in formato decimale puntato.
SISTEMA DI CONTROLLO
Il nome del sistema è in genere il nome host, ma è possibile utilizzare qualsiasi nome descrittivo. Questo test consente di controllare le risorse generali del sistema come l’utilizzo della CPU (percentuale di tempo trascorso in utente, sistema e attesa), l’utilizzo totale della memoria o la media del carico.
CONTROLLA IL PROGRAMMA
Utilizzando l’interfaccia web di Monit
Monit viene fornito con un’interfaccia web facile da usare a cui puoi accedere nel tuo browser, per abilitarlo dovrai aggiungere le seguenti righe al tuo file monitrc:
set httpd port 2812
allow myuser:mypassword
È quindi possibile utilizzare l’IP del server per accedervi, dovrebbe assomigliare a questo:

Esempi: demone, file system, processore, monitoraggio di file e rete
1. Per monitorare un demone, puoi aggiungere le seguenti righe al tuo file monitrc:
check process apache with pidfile /var/run/apache2/apache2.pid
start program = "/etc/init.d/apache2 start" with timeout 60 seconds
stop program = "/etc/init.d/apache2 stop"
2. Per inviare un avviso sull’utilizzo elevato della CPU, puoi utilizzare questo nel tuo file monitrc:
check process apache with pidfile /var/run/apache2/apache2.pid
start program = "/etc/init.d/apache2 start" with timeout 60 seconds
stop program = "/etc/init.d/apache2 stop"
if cpu > 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart
3. Riavvia in caso di elevato utilizzo della memoria:
check process apache with pidfile /var/run/apache2/apache2.pid
start program = "/etc/init.d/apache2 start" with timeout 60 seconds
stop program = "/etc/init.d/apache2 stop"
if totalmem > 200.0 MB for 5 cycles then restart
4. Per controllare un file system:
check filesystem datafs with path /dev/sda1
start program = "/bin/mount /data"
stop program = "/bin/umount /data"
5. Per controllare una directory:
check directory bin with path /bin
if failed permission 755 then alert
6. Per verificare un host sulla rete
check host server2 with address 192.168.1.2
if failed icmp type echo count 3 with timeout 3 seconds then alert
Tutti i servizi monitorati da Monit saranno inclusi nell’interfaccia web e avranno questo aspetto:

Inoltre, se fai clic sul nome di un servizio, otterrai ulteriori dettagli su di esso:
