0

Monit: outil de surveillance des services locaux

Monit est un outil open-source, sous licence GNU, de surveillance des services locaux sous GNU/Linux.
La particularité de Monit par rapport à d’autres outils de surveillance comme, par exemple Nagios ou Zabbix, est de pouvoir redémarrer le service en défaut tout en envoyant un e-mail à l’administrateur.
La visualisation de l’état des services est accéssible via l’interface web de Monit.

Installtion de Monit sur un serveur Debian Wheezy

Pré-requis

Pour pouvoir avoir accès à l’interface web de Monit, il faut avoir un serveur web.

apt-get install apache2
Installation de Momit
apt-get install monit

Configuration de Monit et des services à surveiller

Pour configurer Monit, il faut éditer le fichier /etc/monit/monitrc, ensuite ajouter des fichiers de configuration pour chaques services à surveiller dans le répertoire /etc/monit/conf.d/.

Configuration de Monit
nano /etc/monit/monitrc

Configuration du daemon Munit: 2 minutes d’intervales(configuration par défaut)

set daemon 120

Déclaration d’un serveur de messagerie pour délivrer les messages d’alertes:

set mailserver mail.server.tld

Pour être notifier par mail de toutes les alertes:

set alert sysadm@foo.bar

Pour personnaliser l’expéditeur du mail:

set mail-format { from: monit@foo.bar }

L’accès à l’interface web de Monit:

set httpd port 2812 and
allow admin:monit

Par défaut le login et mot de passe sont admin et monit, à changer.
Pour auoriser l’accès à l’interface web de Monit uniquement en local, dé-commenter:

use address localhost
allow localhost
Configuration des services à surveiller

Voici, quelques exemples de services:

sshd:

check process sshd with pidfile /var/run/sshd.pid
start program  "/etc/init.d/ssh start"
stop program  "/etc/init.d/ssh stop"
if failed port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout

Apache2:

check process apache with pidfile /var/run/apache2.pid
group www-data
start program = "/etc/init.d/apache2 start"
stop program  = "/etc/init.d/apache2 stop"
if cpu > 60% for 2 cycles then alert
if cpu > 90% for 5 cycles then restart
if totalmem > 500 MB for 5 cycles then restart
if children > 250 then restart
if loadavg(5min) greater than 10 for 8 cycles then stop
if 3 restarts within 5 cycles then timeout

MySql ou MariaDB:

check process mysql with pidfile /var/run/mysqld/mysqld.pid
group mysql
start program = "/etc/init.d/mysql start"
stop program = "/etc/init.d/mysql stop"
if failed unix "/var/run/mysqld/mysqld.sock" then restart
if failed host 127.0.0.1 port 3306 then restart
if 5 restarts within 5 cycles then timeout

ProFTPd:

check process proftpd with pidfile /var/run/proftpd.pid
start program = "/etc/init.d/proftpd start"
stop program  = "/etc/init.d/proftpd stop"
if failed port 21 protocol ftp then restart
if 5 restarts within 5 cycles then timeout

Activation de Momit

Par défaut, du moins sous Debian, Monit est actif. Pour vérifier il faut éditer le fichier /etc/default/monit et avoir:

START=yes

Une fois la configuration terminée, il faut relancer Monit:

service monit restart

Contrôl de la bonne syntax des fichiers de configuration

Pour contrôler la bonne syntax des fichers de configuration de Monit et des services associés:

monit -t

Interface web de Monit

Se connecter à l’interface web de monit: http://IP_server:2812/

monit

Partager l'article :





fred

Administrateur Système autodidacte et utilisateur au quotidien de GNU/Linux (Debian, Ubuntu, Manjaro et un peu de CentOS).

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *