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é !
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 !