Auteur : Didier Misson
• 14 septembre 2008

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_processes

Can’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 !

Catégorie: Serveurs | Tags : , , ,
Vous pouvez suivre toutes les réponses à à ce billet via le flux RSS 2.0. Vous pouvez laisser une réponse, ou un rétrolien depuis votre propre site.

2 réponses

  1. 1
    guillaume 
    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.
    ++

  2. 2
    Didier Misson 
    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 ;-)

Laisser un commentaire