Munin est un outil de surveillance des ressources dans le même style que Cacti ou Ganglia mais en bien plus léger.
Description
L’équipe du projet Munin part du constat que les outils de monitoring sont bien souvent trop complexes à mettre en place et bien souvent trop gourmand en ressource, faussant les résultats monitorés. Munin est donc un outil de supervision simple et efficace sur ces points. Il est de plus extensible facilement afin d’ajouter des plugins sur des éléments précis à surveiller.
Le fonctionnement de munin est simple, un serveur collecteur à l’aide d’une tâche planifiée (en cron) parcourt son fichier de configuration (/etc/munin/munin.conf) pour récuperer la liste des machines à surveiller (noeud). Chaque machine va être interrogée à l’aide d’un démon lancé sur chacune d’elle (munin-node). Ce démon écoute par défaut sur le port 4949, et peut être testé avec telnet (ou netcat).
La partie munin-node s’occupe donc de surveiller différents points importants sur la machine (charge CPU, réseaux, hits apache, etc). La partie munin s’occupe de centraliser toutes ces informations et des les mettre en page pour qu’elles soient accessibles via un serveur web. Les graphiques sont générés avec l’outil RRDtool.
Installation
L’installation se fait aussi bien sur les machines à surveiller que sur le serveur qui collecte les informations. Aucun redémarrage n’est nécessaire.
Sur les noeuds à surveiller
Sur chaque machine à surveiller, il faut installer le paquet munin-node. La procédure d’installation est la suivante:
yum install munin-node
Sur le serveur collecteur
Sur le serveur collecteur, il faut installer le paquet munin. La procédure d’installation est la suivante:
yum install munin
Il est possible de monitorer aussi le serveur collecteur, il suffira pour cela d’installer aussi le paquet munin-node sur ce dernier.
Configuration
Sur les noeuds à surveiller
Il faut ensuite configurer les nœuds pour que le serveur collecteur soit autorisé à se connecter au démon munin-node. La configuration de munin-node se fait dans le fichier /etc/munin/munin-node.conf où il faut préciser les adresses IP des collecteurs (ici 192.168.1.1):
allow ^127\.0\.0\.1$ allow ^192\.168\.1\.1$
Il ne reste plus qu’à activer le service munin-node:
[root@noeudX] # service munin-node start [root@noeudX] # chkconfig munin-node on
Sur le serveur collecteur
La liste des noeuds à interroger se fait dans le fichier /etc/munin/munin.conf, où l’on déclare les machines à interroger en fin de fichier:
[noeud1.domaine.net]address 192.168.1.11 [noeud2.domaine.net]address 192.168.1.12
L’utilisation de nom de domaine permet à munin de regrouper les machines en domaine dans son arbre de navigation présenté dans l’interface web. Il n’y a pas de service lié à munin car il s’agit d’une tâche planifiée via cron.
Par défaut, munin génère les pages web dans le répertoire /var/www/html/munin. Il faut donc rendre se repertoire accessible via http (avec Apache ou autres).
Démonstration
Pour se faire une idée du résultat: Démo live