Suivre l'état de son serveur avec Munin

Munin est un logiciel libre performant pour surveiller et suivre ("monitorer" si on s'autorise les anglicismes) des ordinateurs ou des serveurs. Il se compose de deux composants :

  • munin-node, l'utilitaire chargé de récupérer les données sur les "noeuds" du réseau
  • munin, le superviseur qui compile les données de tous les "noeuds" surveillés, fabrique des graphiques et des pages HTML pour permettre la visualisation aisée des données au travers d'un serveur web

Nous allons décrire ici le déploiement de munin-node sur un serveur et de munin sur un poste superviseur distinct.

Installer et paramétrer munin-node sur le poste à surveiller

Munin-node s'installera avec votre gestionnaire de paquet favori ; par exemple sous Debian :

aptitude install munin-node

Lors de l'installation, munin-node choisit et paramètre automatiquement un certain nombre de plugins (chaque plugin est un petit programme autonome capable d'aller collecter des données précises : par exemple le plugin cpu collecte des informations sur la charge du processeur, postfix_mailstats extrait des logs le nombre de courriels transmis par postfix, ...). Le paramétrage de munin-node s'effectue dans /etc/munin/munin-node.conf.

On pourra notamment prêter attention à ces paramètres :

#Spécifier le nom de l'hôte surveillé
host_name serveur_surveille1.domain.tld
#Adresse IPv4 du superviseur qui aura le droit de se connecter au noeud pour récupérer les informations
allow ^192\.168\.1\.200$
#Port sur lequel le service est disponible
port 4949

Une fois le paramétrage terminé, on redémarre le client par la commande

service munin-node restart

Installer le superviseur

Le superviseur Munin s'installe avec :

aptitude install munin

Il faut ensuite indiquer au superviseur quels sont les noeuds à interroger et éventuellement donner des indications spécifiques pour les graphes à construire. Cela s'effectue dans /etc/munin/munin.conf :

[serveur_surveille1.domain.tld]
    address 192.168.1.45
    use_node_name yes

Le travail de génération des graphes et des pages HTML est effectué régulièrement grâce à une tâche cron (dont la fréquence pourra être modifiée dans le fichier /etc/cron.d/munin). Il est également possible de paramétrer le système pour générer les graphes lors des consultations à l'aide d'un recours à des scripts cgi - cela n'est pas détaillé ici. Les travaux de munin ne sont pas silencieux, les logs (bien pratiques pour comprendre une éventuelle panne) sont situés dans /var/log/munin/.

On redémarrer munin par

service munin restart

et après quelques minutes d'attente, les premiers graphes doivent être générés et accessibles dans /var/cache/munin/www/.

On pourra alors rendre accessible ce dossier au travers d'un serveur web bien paramétré !

Load munin

Pour aller plus loin avec les plugins sur le noeud

Tous les plugins disponibles sont regroupés dans /usr/share/munin/plugins/ et on pourra les rendre actifs par la commande :

ln -s /usr/share/munin/plugins/pluginchoisi /etc/munin/plugins/pluginchoisi

Pour tester un plugin et visualiser les données qu'il retourne, on pourra utiliser la commande :

munin-run postfix_mailstats

La configuration des plugins s'effectue dans le fichier /etc/munin/plugin-conf.d/munin-node suivant les instructions que l'on trouvera dans les en-têtes des fichiers de plugins.

Bonne surveillance de vos serveurs !