Munin est un outil assez pratique pour monitorer un serveur.
Mais par défaut, le monitoring Apache n’est pas activé.
Un peu de configuration est nécessaire.
Munin est constitué de 2 composants :
- La partie serveur de Munin, qui collecte les données et vous les présente sous la forme de graphique
- la partie client : Munin-node, qui se trouve sur chaque machine que vous voulez monitorer.
Cela vous permet d’avoir, par exemple, un serveur central qui collecte les données sur 5 serveurs qui peuvent être à l’autre bout de la planète
L’installation est, comme très souvent en Debian et Ubuntu, très simple.
Je ne m’attarderai pas sur cette installation, mais en gros, ça se résume à :
Du côté serveur central :
- sudo aptitude install munin
- configurer vi /etc/munin/munin.conf pour y mettre une liste de serveurs à monitorer :
[abackup.misson.net] address 192.168.168.249 use_node_name yes
Le serveur de collect peut se monitorer lui-même évidemment.
Sur chaque machine à monitorer :
- sudo aptitude install munin-node
- configurer vi /etc/munin/munin-node.conf pour y mettre l’adresse IP du serveur autoriser à venir prendre des statistiques (désolé ! Pas le nom… Ca ne fonctionne pas… ce qui pose des problèmes si votre serveur est derrière une ADSL avec une IP dynamique)
Attention à la syntaxe un peu bizarre de cette ligne “allow” (avec l’adresse IP de VOTRE serveur évidemment) :
allow ^213\.219\.145\.66$
Et ça fonctionne… sauf que vous n’avez pas les statistiques de votre serveur Apache !
J’ai trouvé une documentation à ce sujet sur cette page.
Il faut autoriser le monitoring dans la configuration d’Apache2 :
sudo vi /etc/apache2/apache2.conf
Modifiez les lignes concernant le module “mod_status” de cette façon. On autorise la prise de statistique depuis le serveur lui-même car Munin-node tourne sur la même machine :
<IfModule mod_status.c>
#
# Allow server status reports generated by mod_status,
# with the URL of http://servername/server-status
# Change the ".example.com" to match your domain to enable.
#
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
# Allow from .example.com
Allow from 127.0.0.1
</Location>
</IfModule>
Ajoutez également cette ligne dans le fichier apache2.conf :
ExtendedStatus On
Comme après toute modification dans des fichiers Apache, et avant de le recharger, vérifiez si la syntaxe est correcte :
# apache2 -t Syntax OK
Apache2 doit charger un module pour permettre la prise d’information. Il faut activer ce module, qui était déjà dans les modules disponibles. La commande est “a2enmod” (Apache2 enable module) :
# sudo a2enmod info
Module info installed; run /etc/init.d/apache2 force-reload to enable.
Les modifications Apache2 sont terminées, mais pour les activer, un force-reload est nécessaire :
# sudo /etc/init.d/apache2 force-reload
Je continue à suivre la page d’explication de Wikiserveur, qui est vraiment claire et simple, et qui est en licence GNU Free Documentation License.
Après Apache, il faut configurer Munin-node pour qu’il prenne bien les statistiques sur Apache2 :
Munin-node utilise, pour activer ses plugins, un système de logical links un peu comme Apache2 avec ses mod-availables et mod-enables. Il faut également aller dans le dossier plugins, et faire des liens symboliques avec les plugins existants que l’on veut activer.
cd /etc/munin/plugins/ sudo ln -s /usr/share/munin/plugins/apache_accesses apache_accesses sudo ln -s /usr/share/munin/plugins/apache_processes apache_processes sudo ln -s /usr/share/munin/plugins/apache_volume apache_volume
Avant de redémarre munin-node, vérifier s’il ne vous manque pas une librairie. Essayez un des modules :
# /usr/share/munin/plugins/apache_processesCan’t locate object method “new” via package “LWP::UserAgent” at /usr/share/munin/plugins/apache_processes line 134.
Ce message d’erreur signale qu’il vous manque une libraire.
Il suffit de l’installer :
# apt-get install libwww-perl Reading package lists... Done Building dependency tree... Done The following extra packages will be installed: libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl liburi-perl Suggested packages: libio-socket-ssl-perl Recommended packages: libmailtools-perl libhtml-format-perl libcompress-zlib-perl The following NEW packages will be installed libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl liburi-perl libwww-perl 0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded. Need to get 778kB of archives. After unpacking 2179kB of additional disk space will be used. Do you want to continue [Y/n]? Y
Après l’installation, redémarrer Munin-node :
# /etc/init.d/munin-node restart Stopping Munin-Node: done. Starting Munin-Node: done.
Voilà, ça devrait fonctionner.
D’autres statistiques avec Munin sont expliquées dans ce wiki qui est également très intéressant !







6 octobre 2008
merci pour ce bon tuto qui va droit au but (aprés tout c’est ce que l’on veut). Ca serait sympa d’ajouter la meme chose pour d’autre plugins munin.
++
7 octobre 2008
Merci
mais j’ai fait d’autres billets sur Munin, par exemple pour le monitoring hardware (fans, voltages…)
http://didier.misson.net/blog/2008/09/24/monitoring-temperateur-et-autres-capteurs-avec-munin/
et sur le monitoring des (éventuelles) erreurs sur l’interface ETH
http://didier.misson.net/blog/2008/09/22/munin-if_err_eth0-error/
Si vraiment tu as besoin de conseils sur un monitoring précis, je vérifie si je l’ai installé chez moi et je pourrais, si nécessaire, faire un billet