Outils pour utilisateurs

Outils du site


serveurs:munin

La supervision avec Munin

Munin est un logiciel de supervision livré via deux paquets distincts :

  • munin permet d'afficher sur un site Web les graphiques générés pour un ou plusieurs serveurs ;
  • munin-node s'installe sur chacun de ces serveurs (bien souvent, au moins sur le serveur Web qui délivre les pages Munin) afin de collecter les informations et de les communiquer à Munin lorsque ce dernier les lui demande.

L'utilisation de munin-node nécessitera l'ouverture du port 4949 sur les nœuds.

Installation de Munin sur le serveur Web

# aptitude install munin

En dépendance, le paquet munin-node s'installe également.

Configuration du serveur Munin

La configuration du serveur Munin s'articule autour de quelques fichiers dont les suivants :

  • /etc/munin/apache.conf est chargé par Apache via le lien symbolique /etc/apache2/conf.d/munin ;
  • /etc/munin/munin.conf est le fichier de configuration générale ;
  • /etc/munin/munin-node.conf est présent car nous avons aussi installé munin-node sur le serveur qui affichera les données collectées.

Peut-être voudrez-vous garder la configuration par défaut, comme moi :

# cd /etc/munin/
# cp -p apache.conf apache.conf.dist
# cp -p munin.conf munin.conf.dist

Par défaut, Munin n'est accessible que via la machine sur laquelle il est installé. Selon vos besoins, il peut-être utile d'agir sur ce paramètre. Par exemple, pour autoriser la consultation des graphiques sur le réseau local, vous pouvez faire ainsi (adapter l'IP à votre réseau) :

# vim /etc/munin/apache.conf

    -        Allow from localhost 127.0.0.0/8 ::1
    +        Allow from localhost 127.0.0.0/8 ::1 192.168.0.0/24

Le nœud par défaut est nommé localhost.localdomain par Munin. Ce n'est peut-être pas ce que vous voulez, sachez donc que cela se change de cette manière :

# vim /etc/munin/munin.conf

    -[machine.example.org]
    +[localhost.localdomain]

Configuration des clients Munin

Chaque nœud Munin pourra bénéficier de sa propre configuration et communiquera donc un jeu de données spécifique au serveur. Ce dernier générera des pages HTML s'adaptant à ces spécificités. Lors de l'installation du paquet munin-node, un lot de plugins est automatiquement sélectionné et ils sont activés via des liens dans le répertoire /etc/munin/plugins.

On peut bien-sûr agir sur cette liste. Les commandes qui suivent mettent en avant les choix que j'ai faits mais ne sont présentes pour vous expliquer la démarche : activez et désactivez les plugins selon vos besoins.

Désactivation de certains plugins

# cd /etc/munin/plugins/
# rm exim_mailstats
# rm nfs4_client nfsd nfsd4
# rm entropy
# invoke-rc.d munin-node restart

Ajout d'autres plugins

# cd /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/postfix_mailstats ./
# ln -s /usr/share/munin/plugins/bind9* ./
# ln -s /usr/share/munin/plugins/mysql_* ./
# ln -s /usr/share/munin/plugins/fail2ban /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/apache_accesses ./apache_accesses
# ln -s /usr/share/munin/plugins/apache_processes ./apache_processes
# ln -s /usr/share/munin/plugins/apache_volume ./plugins/apache_volume

Le plugin Fail2Ban nécessite d'être exécuté avec l'utilisateur root :

# vi /etc/munin/plugin-conf.d/munin-node

    [fail2ban]
    user root

Les plugins Apache nécessitent l'installation du paquet supplémentaire libwww-perl.

# aptitude install libwww-perl

Les modifications au niveau des plugins gérés par le nœud ne seront effectives qu'après un redémarrage du service.

# invoke-rc.d munin-node restart

Gestion des alertes

Chaque nœud Munin est paramétrable assez finement et permet par exemple de renseigner des valeurs limites (avertissement et/ou problème critique) pour un graphique donné. Grâce à cela, le serveur Munin est capable de mettre en évidence l'indicateur en exception par un simple jeu de couleur sur la page (orange pour l'avertissement et rouge pour le problème urgent). Ce paramétrage doit se faire dans /etc/munin/munin.conf pour chaque plugin qui le permet.

Par exemple :

[df*]
env.exclude none unknown iso9660 squashfs udf romfs ramfs debugfs
env.warning 92
env.critical 98

Munin va plus loin, il permet de définir un ou plusieurs contacts à prévenir lorsqu'un indicateur prend la mauvaise couleur. Pour cela, il envoie un mail et a d'ailleurs la politesse d'en faire autant une fois l'indicateur revenu à la normale.

Pour configurer cette option, il faut éditer la configuration de Munin sur le serveur :

# vim /etc/munin/munin.conf

    contact.tintin.command mail -s "Munin notification ${var:group} :: ${var:host}" tintin@example.org
    contact.tournesol.command mail -s "Munin notification ${var:group} :: ${var:host}" tournesol@example.org

Le nom du contact dans contact.tintin.command est sans importance. Il permet simplement de définir un contact de sorte à lui spécifier par la suite un autre paramétrage comme une restriction sur le type d'alerte à lui envoyer.

Par exemple :

# vim /etc/munin/munin.conf

    contact.tintin.command mail -s "Munin notification ${var:group} :: ${var:host}" tintin@example.org
    contact.tintin.always_send warning critical
    contact.tournesol.command mail -s "Munin notification ${var:group} :: ${var:host}" tournesol@example.org
    contact.tournesol.always_send critical

De cette façon, Tintin pourra s'occuper de chaque alerte mais un problème sérieux alertera également Tryphon Tournesol :)

Sauvegarde des graphiques

Les graphiques RRDtool générés sont enregistrés dans le répertoire /var/lib/munin et le site Web généré l'est dans /var/cache/munin. Ce sont donc ces répertoires qu'il faudra sauvegarder si vous en ressentez le besoin. Bien-entendu, il sera possible d'ajouter à la sauvegarde la configuration que nous venons d'effectuer auquel cas on ajoutera /etc/munin à la liste des répertoires à sauvegarder.

serveurs/munin.txt · Dernière modification: Wed Jan 18 22:18:38 2012 par fifou