Description

muninL'é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 resultats monitorés.

Munin est donc un outil de supervision simple et efficace. 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é à 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

terminalL'installation se fait aussi bien sur les machines à surveiller que sur le serveur qui collecte les informations. Aucun redemarrage 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