Ubuntu: Monitorer un serveur avec Monit
Monit est un petit utilitaire sous Linux permettant la surveillance des services, périphériques et fichiers d’un serveur. Lorsequ’un élément surveillé change d’état, il envoie une notification par mail et peut effectuer les actions préalablement définies. Léger et simple à configurer, Monit adapté aux réseaux de petite taille, ou aux environnements ne nécessitant pas une solution telle que Nagios ou Zenoss.
Installation et configuration de Monit sur Ubuntu Server
I – Installation et configuration basique
1 -Installer via aptitude, Monit étant disponible à partir des dépôts officiels
apt-get install monit
2 -Editer /etc/monit/monitrc de la manière suivante:
set daemon 120 # Délai de rafraichissement 2 min
set logfile syslog facility log_daemon
# Serveur, expéditeur et destinataire pour le courrier d’alerte
set mailserver localhost
set mail-format { from: monit@domai.ne }
set alert user@domai.ne
# Port d’écoute et activation du SSL (générer un certificat SSL) pour l’interface web
set httpd port 2812 and
SSL ENABLE
PEMFILE /etc/ssl/certifica t.pem
# Nom d’utilisateur et mot de passe
allow admin:mot-de-passe
# Charge les fichiers fichiers de configuration des sondes dans le répertoire conf.d
include /etc/monit/conf.d/*
3 -Editer /etc/default/monit de la manière suivante:
startup=1
4 – Lancer le démon
service monit start
A partir de là , l’interface web devrait être accessible à l’adresse http://localhost:2812
II – Configuration des sondes
Comme défini précédement dans le fichier monitrc, la configuration des sondes est chargée depuis le repertoire conf.d. Pour des raisons de commodité, il est conseiller de créer 1 fichier par sonde.
Monitoring du démon ssh:
check process sshd with pidfile /var/run/sshd.pid
group ssh
start program « /etc/init.d/ssh start »
stop program « /etc/init.d/ssh stop »
if failed host 127.0.0.1 port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout
Monitoring du démon apache:
check process httpd with pidfile /var/run/apache2.pid
group apache
start program = « /etc/init.d/apache2 start »
stop program = « /etc/init.d/apache2 stop »
if failed host 127.0.0.1 port 80
protocol http then restart
if 5 restarts within 5 cycles then timeout
if cpu is greater than 85% for 2 cycles then alert
if cpu > 90% for 5 cycles then restart
if children > 250 then restart
Monitoring du démon samba:
check process smbd with pidfile /var/run/samba/smbd.pid
group samba
start program = « /etc/init.d/smbd start »
stop program = « /etc/init.d/smbd stop »
if failed host 192.168.7.4 port 139 type TCPÂ then restart
if 5 restarts within 5 cycles then timeout
Monitoring du démon mysql:
check process mysql with pidfile /var/lib/mysql/ns4.pid
group database
start program = « /etc/init.d/mysql start »
stop program = « /etc/init.d/mysql stop »
if failed host localhost port 3306 protocol mysql then restart
if 5 restarts within 5 cycles then timeout
Monitoring du démon postfix:
check process postfix with pidfile /var/spool/postfix/pid/master.pid
group mail
start program = « /etc/init.d/postfix start »
stop program = « /etc/init.d/postfix stop »
if failed port 25 protocol smtp then restart
if 5 restarts within 5 cycles then timeout
Monitoring du démon dovecot:
check process dovecot with pidfile /var/run/dovecot/master.pid
start program = « /etc/init.d/dovecot start »
stop program = « /etc/init.d/dovecot stop »
group mail
if failed host ns4.net32.lan port 993 type tcpssl sslauto protocol imap for 5 cycles then restart
if 3 restarts within 5 cycles then timeout
Monitoring de la partition sde1:
check device sda1 with path /dev/sde1
if space usage > 85% then alert
group system
Monitoring d’un switch réseau:
check host cisco-SLM2008 with address 192.168.0.32
if failed icmp type echo count 5 with timeout 15 seconds
then alert









