Monit est un utilitaire open source qui fournit plusieurs fonctionnalités de surveillance du système extrêmement utiles aux administrateurs système. Cet article fournit un guide de démarrage rapide sur l'installation et la configuration de monit. Nous discutons également d'un exemple spécifique lié à la surveillance des processus.
1. Installer le moniteur
Sur Fedora, openSUSE, Debian installe monit en tant que package à partir du référentiel de distribution. Par exemple, sur Debian (et Ubuntu), installez monit en utilisant apt-get comme indiqué ci-dessous.
# apt-get install monit
Si votre distribution n'a pas le paquet monit, téléchargez monit source et installez-le.
2. Configurer le moniteur
Un exemple d'entrée de surveillance de processus dans le fichier de configuration de monit /etc/monit/monitrc ressemble à ce qui suit.
check process PROCESSNAME with pidfile PIDFILENAME-WITHABSOLUTE-PATH start = STARTUP-SCRIPT stop = STOP-SCRIPT
Par exemple, pour surveiller le démon cron, ajoutez les lignes suivantes au fichier 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"
Pour d'autres configurations (par exemple, redémarrer un processus lorsqu'il franchit une limite de mémoire ou de processus), reportez-vous à la section COMMENT SURVEILLER dans "man monit".
Activez également syslog en décommentant la ligne suivante dans /etc/monit/monitrc.
# vim /etc/monit/monitrc set logfile syslog facility log_daemon
3. Autoriser le démarrage du moniteur
Modifiez le fichier /etc/default/monit et activez l'indicateur de démarrage, ce qui garantit que la configuration est effectuée pour que monit puisse démarrer.
# vim /etc/default/monit startup=1
4. Démarrer la surveillance
# /etc/init.d/monit start Starting daemon monitor: monit
5. Vérifier la fonctionnalité de moniteur
Pour tester cela, tuons le démon cron en cours d'exécution comme indiqué ci-dessous.
# ps -ef | grep cron root 2886 1 0 10:18 ? 00:00:00 /usr/sbin/cron # pkill -9 cron
Dans l'intervalle suivant, monit démarre automatiquement le démon cron sans l'intervention de l'administrateur, comme indiqué dans les messages syslog ci-dessous.
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
Faites un ps -ef pour vous assurer que le travail cron est démarré automatiquement par monit, lorsque vous l'avez tué.
# ps -ef | grep cron root 19728 1 0 13:06 ? 00:00:00 /usr/sbin/cron