Surveillance serveur · 5 min read · Oct 15, 2025

Surveillance du serveur avec Munin et Monit sur Debian 8 (Jessie)

Dans cet article, je vais décrire comment vous pouvez surveiller votre serveur Debian 8 (Jessie) avec Munin et Monit. munin produit de jolis petits graphiques sur presque tous les aspects de votre serveur (moyenne de charge, utilisation de la mémoire, utilisation du CPU, débit MySQL, trafic eth0, etc.) sans beaucoup de configuration, tandis que Monit vérifie la disponibilité des services comme Apache, MySQL, Postfix et prend les mesures appropriées telles qu’un redémarrage s’il constate qu’un service ne fonctionne pas comme prévu. La combinaison des deux vous offre une surveillance complète : des graphiques qui vous permettent de reconnaître les problèmes actuels ou à venir (comme “Nous avons besoin d’un plus gros serveur bientôt, notre moyenne de charge augmente rapidement.”), et un gardien qui garantit la disponibilité des services surveillés.

Bien que Munin vous permette de surveiller plus d’un serveur, nous ne discuterons ici que de la surveillance du système où il est installé.

Ce tutoriel a été écrit pour Debian 8 (Jessie), mais la configuration devrait s’appliquer à d’autres distributions comme Ubuntu avec peu de changements également.

Je tiens à dire d’abord que ce n’est pas la seule façon de configurer un tel système. Il existe de nombreuses façons d’atteindre cet objectif, mais c’est la méthode que je prends. Je ne donne aucune garantie que cela fonctionnera pour vous !

1 Remarque préliminaire

Le nom d’hôte de notre système est server1.example.com, et nous avons un site web www.example.com dessus avec le répertoire racine des documents /var/www/www.example.com/web.

Assurez-vous que le système est à jour avant de commencer à installer Munin, exécutez :

apt-get update  
apt-get upgrade

Apache est utilisé pour afficher les pages Munin, le module fcgid d’apache est requis pour la fonction de zoom des graphiques Munin. Installez apache et le module fcgid avec apt.

apt-get install apache2 libcgi-fast-perl libapache2-mod-fcgid

Activez le module fcgid dans apache.

a2enmod fcgid

2 Installer et configurer Munin

Pour installer Munin sur Debian Jessie, nous faisons ceci :

apt-get install munin munin-node munin-plugins-extra 

Lorsque le serveur exécute MySQL ou MariaDB, activez quelques plugins Munin supplémentaires pour surveiller MySQL :

cd /etc/munin/plugins  
ln -s /usr/share/munin/plugins/mysql_ mysql_  
ln -s /usr/share/munin/plugins/mysql_bytes mysql_bytes  
ln -s /usr/share/munin/plugins/mysql_innodb mysql_innodb  
ln -s /usr/share/munin/plugins/mysql_isam_space_ mysql_isam_space_  
ln -s /usr/share/munin/plugins/mysql_queries mysql_queries  
ln -s /usr/share/munin/plugins/mysql_slowqueries mysql_slowqueries  
ln -s /usr/share/munin/plugins/mysql_threads mysql_threads

Ensuite, nous devons éditer le fichier de configuration de Munin /etc/munin/munin.conf. Décommentez les lignes dbdir, htmldir, logdir, rundir et tmpldir (les valeurs par défaut sont correctes). Nous voulons que Munin utilise le nom server1.example.com au lieu de localhost.localdomain dans la sortie HTML, donc nous remplaçons localhost.localdomain par server1.example.com dans la section simple de l’arbre des hôtes. Sans les commentaires, le fichier modifié ressemble à ceci :

nano /etc/munin/munin.conf
# Exemple de fichier de configuration pour Munin, généré par 'make build'  
  
# Les trois variables suivantes spécifient où se trouvent les bases de données RRD, la sortie HTML, les journaux et les fichiers de verrouillage/pid. Ils doivent tous être accessibles en écriture par l'utilisateur exécutant munin-cron. Ils sont tous par défaut aux valeurs que vous voyez ici.  
#  
dbdir /var/lib/munin  
htmldir /var/cache/munin/www  
logdir /var/log/munin  
rundir /var/run/munin  
  
# Où chercher les modèles HTML  
#  
tmpldir /etc/munin/templates  
  
# Où chercher les fichiers www statiques  
#  
#staticdir /etc/munin/static  
  
# les fichiers cgi temporaires sont ici. notez qu'ils doivent être accessibles en écriture par l'utilisateur cgi (généralement nobody ou httpd).  
#  
# cgitmpdir /var/lib/munin/cgi-tmp

# (Exactement un) répertoire à inclure tous les fichiers.
includedir /etc/munin/munin-conf.d
[...]  
# un arbre d'hôtes simple  
[server1.example.com]  
 address 127.0.0.1  
 use_node_name yes
[...]  

Nous devrions trouver le fichier de configuration Apache 2.4 pour Munin /etc/munin/apache24.conf - il définit un alias appelé munin vers le répertoire de sortie HTML de munin /var/cache/munin/www, ce qui signifie que nous pouvons accéder à munin depuis tous les sites web sur ce serveur en utilisant le chemin relatif /munin (par exemple, http://www.example.com/munin).

La configuration apache de Munin n’est pas activée par défaut, cela a été changé de DebianWheezy à Jessie. Le nouveau répertoire de configuration est /etc/apache2/conf-enabled au lieu de /etc/apache2/conf.d qui était utilisé dans les anciennes versions comme Wheezy et Squeeze.

Exécutez ces commandes pour activer et charger la configuration dans apache.

cd /etc/apache2/conf-enabled/  
ln -s /etc/munin/apache24.conf munin.conf  
service apache2 restart

Assurez-vous de commenter la ligne Require local et d’ajouter Require all granted et Options FollowSymLinks SymLinksIfOwnerMatch à la place (sinon, vous ne pourrez accéder à la sortie de Munin que depuis localhost) :

nano /etc/munin/apache24.conf
Alias /munin /var/cache/munin/www  
  
 # Require local  
 Require all granted  
 Options FollowSymLinks SymLinksIfOwnerMatch  
 Options None  
  
  
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph  
  
 # Require local  
 Require all granted  
 Options FollowSymLinks SymLinksIfOwnerMatch  
   
 SetHandler fcgid-script  
   
   
 SetHandler cgi-script  
   

Redémarrez Apache :

service apache2 restart

Puis redémarrez Munin :

service munin-node restart

Maintenant, attendez quelques minutes pour que Munin puisse produire sa première sortie, puis allez sur http://www.example.com/munin/ dans votre navigateur, et vous verrez les premières statistiques :

Graphiques Munin

(Ceci est juste un petit extrait des nombreux graphiques que munin produit…)

3 Protéger par mot de passe le répertoire de sortie de Munin (optionnel mais fortement recommandé)

Il est maintenant judicieux de protéger par mot de passe le répertoire de sortie de munin à moins que vous ne souhaitiez que tout le monde puisse voir chaque petite statistique sur votre serveur.

Pour ce faire, nous devons créer le fichier de mot de passe /etc/munin/munin-htpasswd. Nous voulons nous connecter avec le nom d’utilisateur admin, donc nous faisons ceci :

htpasswd -c /etc/munin/munin-htpasswd admin

Entrez un mot de passe pour admin. Ensuite, ouvrez à nouveau /etc/munin/apache24.conf…

nano /etc/munin/apache24.conf

… commentez “Require all granted” et ajoutez les lignes que j’ai marquées en rouge :

Alias /munin /var/cache/munin/www  
  
 # Require local  
 # Require all granted  
 AuthUserFile /etc/munin/munin-htpasswd  
 AuthName "Munin"  
 AuthType Basic  
 Require valid-user  
 Options None  
  
  
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph  
  
 # Require local  
 # Require all granted  
 AuthUserFile /etc/munin/munin-htpasswd  
 AuthName "Munin"  
 AuthType Basic  
 Require valid-user  
   
 SetHandler fcgid-script  
   
   
 SetHandler cgi-script  
   

Puis redémarrez Apache :

service apache2 restart

4 Activer des modules supplémentaires dans Munin

La commande Munin “munin-node-configure –suggest” peut être utilisée pour obtenir des recommandations pour des modules Munin supplémentaires qui peuvent être activés sur le serveur. Exécutez :

munin-node-configure --suggest

La sortie devrait être similaire à ceci :

Statut de la configuration du nœud Munin.

La colonne “utilisé” montre si un module est activé, la colonne “Suggestions” montre si le serveur exécute un service qui peut être surveillé par ce module. Créez un lien symbolique pour le module dans /etc/munin/plugins pour l’activer.

Ici, je vais activer les modules apache_* par exemple :

cd /etc/munin/plugins  
ln -s /usr/share/munin/plugins/apache_accesses  
ln -s /usr/share/munin/plugins/apache_processes  
ln -s /usr/share/munin/plugins/apache_volume

Redémarrez Munin pour charger la nouvelle configuration.

service munin-node restart
Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.