Monit è un'utilità open source che fornisce diverse funzionalità di monitoraggio del sistema estremamente utili per gli amministratori di sistema. Questo articolo fornisce una guida di avvio rapido sull'installazione e la configurazione di monit. Discutiamo anche un esempio specifico relativo al monitoraggio dei processi.
1. Installa monitor
Su Fedora, openSUSE, Debian installa monit come pacchetto dal repository di distribuzione. Ad esempio, su Debian (e Ubuntu), installa monit usando apt-get come mostrato di seguito.
# apt-get install monit
Se la tua distribuzione non ha il pacchetto monit, scarica monit source e installalo.
2. Configura monitor
Una voce di monitoraggio del processo di esempio nel file di configurazione di monit /etc/monit/monitrc assomiglia al seguente.
check process PROCESSNAME with pidfile PIDFILENAME-WITHABSOLUTE-PATH start = STARTUP-SCRIPT stop = STOP-SCRIPT
Ad esempio, per monitorare il demone cron, aggiungi le seguenti righe al file monitrc.
# vim /etc/monit/monitrc check process crond with pidfile /var/run/crond.pid start = "/etc/init.d/cron start" stop = "/etc/init.d/cron stop"
Per ulteriori configurazioni (ad esempio, riavviare un processo quando supera un limite di memoria o processo), fare riferimento alla sezione COME MONITORARE in “man monit”.
Inoltre, abilita syslog decommentando la seguente riga in /etc/monit/monitrc.
# vim /etc/monit/monitrc set logfile syslog facility log_daemon
3. Consenti l'avvio di monit
Modifica il file /etc/default/monit e abilita il flag di avvio, che assicura che la configurazione sia eseguita in modo che monit possa iniziare.
# vim /etc/default/monit startup=1
4. Inizia il monitoraggio
# /etc/init.d/monit start Starting daemon monitor: monit
5. Verifica la funzionalità di monitoraggio
Per verificarlo, uccidiamo il demone cron in esecuzione come mostrato di seguito.
# ps -ef | grep cron root 2886 1 0 10:18 ? 00:00:00 /usr/sbin/cron # pkill -9 cron
Nell'intervallo successivo, monit avvia automaticamente il demone cron senza l'interazione dell'amministratore, come mostrato nei messaggi di syslog di seguito.
Dec 5 13:06:55 (none) monit[2968]: 'crond' process is not running Dec 5 13:06:55 (none) monit[2968]: 'crond' trying to restart Dec 5 13:06:55 (none) monit[2968]: 'crond' start: /etc/init.d/cron
Esegui un ps -ef per assicurarti che il lavoro cron venga avviato automaticamente da monit, quando lo hai terminato.
# ps -ef | grep cron root 19728 1 0 13:06 ? 00:00:00 /usr/sbin/cron