Ceci est une ancienne révision du document !
Monit
Monit est un service de monitoring qui vérifie que certaines conditions sont remplies (tel fichier a tel checksum, tels droits, tel service tourne, tel requete tcp/ip renvoie tel truc, etc) et lance des actions sinon (redémarrer, mail d'alerte).
Dans squeeze, c'est la 5.1 qui est dispo, mais elle marche pas dans un container openvz (pb de lecture des infos de ram, pas grave mais 2 lignes d'erreur par check), mais c'est assez simple de récupérer la 5.4 (un binaire et une page de man).
Syntaxe
On va se créer un fichier /etc/monit/serviceTruc par service à surveiller.
La syntaxe est assez simples, avec les deux seules entrées
set itemAConfigurer
check serviceASurveiller
Pour un process faut un pidfile, pour un fichier le chemin.
Ensuite, faut commencer avec les exemples fournis sur http://mmonit.com/wiki/Monit/ConfigurationExamples
La page de man est très complète.
On peut tester certaines choses gourmandes de temps en temps seulement (ou sauf sur certaines tranches horaires où c'est “normal” de sortir des clous), avec every
check process nginx with pidfile /var/run/nginx.pid every 2 cycles
check process mysqld with pidfile /var/run/mysqld.pid not every "* 0-3 * * 0" # on vérifie pas entre minuit et trois heures du mat le dimanche