Surveillance serveur · 5 min read · Oct 15, 2025
Surveillance de Serveur Avec munin Et monit Sur Debian Wheezy
Surveillance de Serveur Avec munin Et monit Sur Debian Wheezy
Version 1.0
Auteur : Falko Timme
Suivez-moi sur Twitter
Dans cet article, je vais décrire comment vous pouvez surveiller votre serveur Debian Wheezy 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 grand serveur bientôt, notre moyenne de charge augmente rapidement.”), et un chien de garde qui assure 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 Wheezy, mais la configuration devrait s’appliquer à d’autres distributions 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 choisis. 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 /var/www/www.example.com/web.
2 Installer Et Configurer munin
Pour installer munin sur Debian Wheezy, nous faisons ceci :
apt-get install munin munin-node munin-plugins-extraActivez quelques plugins munin supplémentaires :
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_threadsEnsuite, 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 bonnes). 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’arborescence des hôtes. Sans les commentaires, le fichier modifié ressemble à ceci :
vi /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 [...] # une simple arborescence d'hôtes [server1.example.com] address 127.0.0.1 use_node_name yes [...] |
Nous devrions trouver le fichier de configuration Apache pour munin /etc/apache2/conf.d/munin (qui est en fait un lien symbolique vers /etc/munin/apache.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).
Assurez-vous de commenter la ligne Allow from localhost 127.0.0.0/8 ::1 et d’ajouter Allow from all à la place (sinon, vous ne pourrez accéder à la sortie de munin que depuis localhost) :
vi /etc/apache2/conf.d/munin| # Activez ceci pour la génération de modèles Alias /munin /var/cache/munin/www # Activez ceci pour les modèles basés sur cgi #Alias /munin-cgi/static /var/cache/munin/www/static #ScriptAlias /munin-cgi /usr/lib/munin/cgi/munin-cgi-html # |
Redémarrez Apache :
/etc/init.d/apache2 restartPuis redémarrez munin :
/etc/init.d/munin-node restartMaintenant, 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. Après quelques jours, cela pourrait ressembler à ceci :

(Ceci n’est qu’un petit extrait des nombreux graphiques que munin produit…)
3 Protéger Par Mot De Passe Le Répertoire De Sortie De munin (Optionnel)
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 adminEntrez un mot de passe pour admin. Ensuite, ouvrez à nouveau /etc/apache2/conf.d/munin…
vi /etc/apache2/conf.d/munin… et décommentez la section suivante :
| [...] AuthUserFile /etc/munin/munin-htpasswd AuthName "Munin" AuthType Basic require valid-user [...] |
Ensuite, redémarrez Apache :
/etc/init.d/apache2 restartRecevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.