18 03 | 2012

Installation de Munin sur Debian 6.0

Rédigé par Sorrodje

Classé dans : Informatique, Mémos techniques

Munin est un outil de Monitoring qui permet de suivre en temps presque réel l'activité et l'état d'une machine.  On peut suivre tout ça dans des graphiques imbitables donc indispensables .



Vu que c'est le genre de truc qui ne manquera pas d'impressionner les filles (ou pas...), je ne peux pas m'en passer et j'installe ça sur mes serveurs. Et à chaque fois je cherche pourquoi ça ne fonctionne pas pendant des heures pour retomber encore et encore sur les mêmes docs.

Ce coup-ci , je me fais donc un aide-mémoire.


Munin est un outil en deux parties :

  • Munin-node qui est la partie "démon" qui surveille le système et génère les stats brutes
  • Munin proprement dit est le grapheur, l'affichage de ces graphes se fait par un serveur web.
On peut installer les deux parties sur deux machines différentes. Les deux possibilités (Munin ( noeud + grapheur )sur machine unique ou noeud et grapheur sur machines séparées ) sont décrites par la suite.

Installation de Munin-node

#apt-get install munin-node munin

Du coup on a tous les composants de notre veilleur et on peut passer au paramétrage de /etc/munin/munin-node.conf:

#nano /etc/munin/munin-node.conf 

La partie qu'il convient de paramétrer dans le fichier est ici:

# A list of addresses that are allowed to connect.  This must be a
# regular expression, since Net::Server does not understand CIDR-style
# network notation unless the perl module Net::CIDR is installed. You
# may repeat the allow line as many times as you'd like

allow ^127\.0\.0\.1$

Les directives allow permettent de faire savoir à notre démon quels sont les grapheurs ayant le droit de venir mettre leur nez dans ses petites affaires. Par défaut 127.0.0.1 est autorisé . Si on installe un grapheur sur une autre machine  il faut rajouter une ligne en respectant bien la syntaxe.


On vérifie ensuite que notre démon faut bien ce qu'il a à faire. On se glisse dans la peau de l'utilisateur Munin:

#su munin --shell=/bin/bash

permet de passer en tant qu'utilisateur munin.


$/usr/share/munin/munin-update --nofork --debug

réalise une génération de stats. On doit obtenir un truc verbeux qui a une fin du style :


2012/03/18 12:01:48 [INFO]: Munin-update finished (4.19 sec)

Si on a des warnings et autres noms d'oiseau, il faut dégainer ses logs ( dans /var/log/munin/ ) et son navigateur et google pour chercher où ça peut bien coincer.


Installation du grapheur

Deux cas donc : installation en local sur la machine où fonctionne le démon Munin-node ou sur une autre machine. Un prérequis si on veut pouvoir afficher un graphe un jour: Apache2 doit être installé. C'est en effet via ce serveur http qu'on pourra demander les graphes via notre navigateur préféré.


Installation du grapheur en local.

On sait que localhost/127.0.0.1 est autorisé dans munin-node.conf donc on n'a pas à y retoucher. Le paquet Munin a été installé précédemment.

Par contre il faut aller voir du côté de /etc/munin/munin.conf et /etc/munin/apache.conf :

#nano /etc/munin/apache.conf
Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
        Order allow,deny
#        Allow from localhost 127.0.0.0/8 ::1
        Allow from all
        Options None

On commente la ligne qui autorise uniquement l'accès http à la machine locale et on autorise l'accès à tout le monde pour ensuite demander une authentification par mot de passe si on le souhaite. A noter : si le grapheur et apache2 est en fait sur la même machine que celle depuis laquelle on va consulter les graphes avec notre navigateur , les stats seront appelées via http://localhost/munin et il n'est alors pas nécessaire de permettre l'accès à d'autre machines: on laisse le /etc/munin/apache.conf tel quel.  


Pour munin.conf:


#nano /etc/munin/munin.conf

La partie qui nous intéresse principalement ici est:

# a simple host tree
[localhost.localdomain]
    address 127.0.0.1
    use_node_name yes


Il suffit alors d'appeler une URL qui va bien ( http://DNS_machine_monitorée/munin ou http://IP_DE_LA_MACHINE_MONITOREE/munin/ ou http://localhost/munin  suivant si les cas ) dans son navigateur pour faire apparaître ceci:



Et y'a plus qu'à cliquoter pour découvrir avec émerveillement des graphiques aussi incompréhensibles qu'inquiétants.


Installation du grapheur sur une autre machine.

Si on veut avoir le grapheur et le démon sur deux machines différentes, il ne faut alors autoriser le démon munin-node à répondre à d'autres demandes que celles émanant de la machine locale et installer donc le grapheur ailleurs que sur celle disposant de munin-node.

Sur la machine monitorée ( celle où est installé et paramétré munin-node ), on modifie la configuration de munin-node pour qu'il accepte les requêtes d'une autre machine: 

#nano /etc/munin/munin-node.conf 

La partie qu'il convient de paramétrer dans le fichier est ici:

# A list of addresses that are allowed to connect.  This must be a
# regular expression, since Net::Server does not understand CIDR-style
# network notation unless the perl module Net::CIDR is installed. You
# may repeat the allow line as many times as you'd like

allow ^127\.0\.0\.1$
allow ^nn\.nn\.nn\.nn$

où nn.nn.nn.nn est l'IP de la machine où on va installer le grapheur Munin. On s'assure aussi que si pare-feu il y a , ce dernier laisse passer le trafic sur le port 4949 utilisé par Munin-node et le grapheur pour communiquer.


Sur la machine destinée à produire les graphes et à en permettre l'accès via apache2: On s'assure que apache2 est installé. On installe le grapheur et on veille à ce que le fichier /etc/munin/apache.conf autorise l'accès à tout le monde comme vu ci-dessus.

On modifie le fichier /etc/munin/munin.conf :

#nano /etc/munin/munin-.conf 

# a simple host tree
[localhost.localdomain]
    address 127.0.0.1
    use_node_name yes
[sorrodje.alter-it.org]
address xx.xx.xx.xx
use_node_name yes

On y ajoute les éléments liés à la machine à monitorer: un nom sous lequel elle va s'afficher dans les résultats à afficher et surtout l'IP où de la machine à monitorer.

Du coup appeler l'URL http://nom.de.domaine.du.grapheur/munin va afficher ça :



Et donc proposer les stats Munin pour toutes les machines où est installé munin-node et qu'on monitore sur la machine apache2+grapheur.

Sur cette dernière on peut souhaiter imposer une authentification par mot de passe pour limiter l'accès aux graphes. Pour cela on modifie à nouveau le fichier /etc/munin/apache.conf :

#nano /etc/munin/apache.conf 

Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
        Order allow,deny
#        Allow from localhost 127.0.0.0/8 ::1
        Allow from all
        Options None

        # This file can be used as a .htaccess file, or a part of your apache
        # config file.
        #
        # For the .htaccess file option to work the munin www directory
        # (/var/cache/munin/www) must have "AllowOverride all" or something
        # close to that set.
        #

        AuthUserFile /etc/munin/munin-htpasswd
        AuthName "Munin"
        AuthType Basic
        require valid-user

        # This next part requires mod_expires to be enabled.
        #

        # Set the default expiration time for files to 5 minutes 10 seconds from
        # their creation (modification) time.  There are probably new files by
        # that time.
        #

    <IfModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault M310
    </IfModule>
</Directory>

Il faut bien veiller à décommenter le paragraphe dédié à l'authentification. Cela va mettre en place une authentification Apache de type "basic" par mot de passe avec l'utilisateur Munin (si on souhaite un autre utilisateur , il suffit d'en choisir un autre) .

Ensuite on crée le mot  de passe dans le bon répertoire en le créant pour l'occasion s'il n'existe pas déjà :

# htpasswd -c /etc/munin/munin-htpasswd Munin 

et choisir le mot de passe.

l'accès via l'URL http://.../munin/ devrait alors demander l'authentification avec Munin et le mot de passe choisi.


Voilà, après il reste à comprendre ce que Munin raconte et voir ce qu'il faut activer comme plugin  ou plus si on le souhaite. Jusqu'ici, je n'ai pas creusé plus loin.

Si vous tombez là dessus et que quelque-chose ne fonctionne pas, c'est sûrement que je me suis gourré dans la retranscription des manips, n'hésitez à me le signaler que je puisse corriger pour moi et pour les autres lecteurs éventuels comptant sur ce papier pour que Munin fonctionne sur leurs machines. 

Si je n'ai pas été clair, c'est  parce que je n'ai pas tout compris. On fait ce qu'on peut.

Le site officiel  pour creuser la question.
Mots clés : munin, Debian, serveur

Écrire un commentaire

Quelle est la première lettre du mot wthyg ? : 

Archives

Contrat Creative Commons
Ce(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France
.