#format wiki
#LANGUAGE it
<
>
<>
= Introduzione =
'''Monit''' è una applicazione utile a monitorare lo stato di file, directory, processi e periferiche. È in grado di intraprendere particolari misure di manutenzione nel caso in cui riscontri particolari anomalie.
= Installazione =
Il programma è presente nel [[Repository/Componenti|componente]] '''universe''' dei [[Repository|repository]] ufficiali. Una volta abilitato tale componente è sufficiente [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto ''monit''.
= Configurazione =
Per configurare l'applicazione è sufficiente modificare con un [[Ufficio/EditorDiTesto|editor di testo]] con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] il file di configurazione `/etc/monit/monitrc`.
Prima di tutto è necessario specificare quali [[Server/Mail|server di posta]] verranno utilizzati per l'invio dei messaggi di notifica. È possibile aggiungere diversi server di posta con le relative porte. Supponendo di voler utilizzare per l'invio della posta i server `mx1.example.com` con porta standard 25 e `mx2.example.com`, con porta 10025, occorre aggiungere al file di configurazione la seguente direttiva:
{{{
set mailserver mx1.example.com,
mx2.example.com port 10025
}}}
Specificare poi l'indirizzo mittente da cui l'applicazione invierà la posta, ad esempio `monit@example.com`:
{{{
set mail-format { from: monit@example.com }
}}}
Specificare l'indirizzo a cui le mail di notifica dovranno essere consegnate (es. `sysadmin@example.com`)
{{{
set alert sysadmin@example.com
}}}
Abilitare il server web interno per accedere all'interfaccia di amministrazione. È possibile specificare a quali indirizzi consentire l'accesso (es. `localhost`) e quali utenti, con le relative password. Nell'esempio che segue verrà configurato un singolo accesso di amministrazione per l'utente «admin» con password «monit»:
{{{
set httpd port 2812 and
use address localhost # accetta connessioni solo da localhost
allow localhost # permette la visualizzazione solo se la richiesta proviene da localhost
allow admin:monit # utente admin con password monit
}}}
Una configurazione più sicura prevede l'utilizzo di SSL. Per far ciò è necessario generare un certificato '''x509''' valido. Supponendo che questo sia contenuto, insieme alla relativa chiave privata, nel file `/var/certs/monit.pem` occorre aggiungere una direttiva del seguente tipo:
{{{
set httpd port 2812 and
SSL ENABLE
PEMFILE /var/certs/monit.pem
allow admin:monit
}}}
Qualora si vogliano monitorare le risorse utilizzate dal sistema, è possibile aggiungere una regola che avvisi l'amministratore nel caso in cui alcune soglie vengano superate. Quello che segue è un esempio generico:
{{{
check system server.example.com
if loadavg (1min) > 4 then alert
if loadavg (5min) > 2 then alert
if memory usage > 75% then alert
if cpu usage (user) > 70% then alert
if cpu usage (system) > 30% then alert
if cpu usage (wait) > 20% then alert
}}}
Se si desidera invece monitare i permessi e il proprietario di una particolare cartella di sistema è utile aggiungere una regola simile alla seguente:
{{{
check directory bin with path /bin
if failed permission 755 then unmonitor
if failed uid 0 then unmonitor
if failed gid 0 then unmonitor
}}}
Per monitare un servizio di sismtema è utile aggiungere una direttiva simile alla seguente:
{{{
check process slapd with pidfile /var/run/slapd/slapd.pid
start program = "/etc/init.d/slapd start"
stop program = "/etc/init.d/slapd stop"
if failed host 192.168.1.1 port 389 protocol ldap3 then restart
if 5 restarts within 5 cycles then timeout
}}}
Nella configurazione dell'esempio sopra citato, qualora il server '''ldap''' risultasse non disponibile, '''monit''' provvederà a riavviarlo.
Per monitare un PC remoto su cui gira una istanza di [[Server/MySql|MySql]], è utile aggiungere una direttiva simile alla seguente:
{{{
check host myserver with address 192.168.1.1
if failed icmp type echo count 3 with timeout 3 seconds then alert
if failed port 3306 protocol mysql with timeout 15 seconds then alert
}}}
Le diciture «myserver» e «192.168.1.1» vanno sostituite con gli indirizzi adatti ai propri scopi.
= Avvio del servizio =
Aprire il file `/etc/defautl/monit` con un [[Ufficio/EditorDiTesto|editor di testo]] con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]], dunque modificare la variabile «startup» come nell'esempio seguente:
{{{
startup=1
}}}
Infine avviare il servizio con il seguente comando in una finestra di terminale:
{{{
sudo /etc/init.d/monit start
}}}
L'interfaccia amministrativa di '''monit''' sarà raggiungibile all'indirizzo [[http://localhost:2812]].
= Ulteriori risorse =
* [[http://www.tildeslash.com/monit/|Sito ufficiale del progetto]]
* [[http://www.tildeslash.com/monit/doc/examples.php|Esempi di configurazione]]
* [[http://www.howtoforge.com/server_monitoring_with_munin_monit_debian_etch|Server Monitoring With munin And monit On Debian Etch]]
## da questo punto in poi non modificare!
----
CategoryServer CategoryDaRevisionare