Munin : une solution de monitoring simple !

Vous souhaitez avoir quelques graphiques sur l'utilisation de votre serveur ?
Mais vous avez pas envie de partir sur une usine à gaz trop complète (et parfois trop complexe à installer), alors Munin est fait pour vous !

 

Munin_logo

Munin, c'est quoi ?

C'est un logiciel libre (comme d'hab', le libre c'est bon !), qui sert de grapheur.
Il est basé sur RRDtool (qui lui est un système de BDD utilisé pour les données cycliques), et fonctionne avec un principe client / serveur.
Très polyvalent : Multiplateforme (il peut surveiller, des machines sous Linux, Windows, BSD …), fonctionne avec un système de plugins (qui sont faciles à utiliser et à développer) afin de "grapher" de nombreux services différents.

Vous allez donc pouvoir surveiller plusieurs machines physiques et virtuelles, et réunir toutes les informations sur un système centraliser.
Il faut garder à l'esprit que Munin est solution de monitoring "simple", bien qu'il existe des états pour surveiller certaines fonctions / composants, vous n'aurez pas de remonté d'alertes, de comparaisons de données …

ça n'en reste pas moins un outil intéressant pour suivre le fonctionnement de son/ses serveurs :)
 

Son installation :

Elle est très simple, car Munin est accessible la plus part du temps par gestionnaire de paquets.
Il faut toutefois faire une distinction entre le serveur et les clients (le serveur pouvant être lui même un client !).

Mon installation est faite sur une VM sous Debian 7.0 (Wheezy) et la version présente en ce moment dans les dépôts est la : 2.0.6-3

La partie serveur (et client au passage) :

# aptitude install munin munin-plugins-extra

La partie uniquement cliente :

# aptitude install munin-node munin-plugins-extra

Vous noterez que j'installe "munin-plugins-extra", c'est optionnel, ce paquet comprend des plugins pour différents programmes qui ne sont pas installés de base.

Munin étant écrit et utilisant des plugins en perl, cela va installer tout l'environnement nécessaire, ainsi que quelques dépendances nécessaires à Munin.
Il vous faudra également un serveur pour la consultation des graphs, de base c'est Apache qui est recommandé.

Une fois l'installation terminée, il faut modifier quelques fichiers de conf :

L'accès aux graphs :

# nano /etc/apache2/conf.d/munin

et changez :

<Directory /var/cache/munin/www>
        Order allow,deny
        Allow from all
        Options None

puis :

# /etc/init.d/apache2 restart

Vous pouvez faire un premier essai en consultant : http://monip/munin

Si jamais vous avez une erreur "403", vous pouvez décommenter et vérifier les chemins suivant dans /etc/munin/munin.conf

#dbdir  /var/lib/munin
#htmldir /var/cache/munin/www
#logdir /var/log/munin
#rundir  /var/run/munin

Puis :

# /etc/init.d/munin restart

Et si cela ne fonctionne toujours pas, je vous invite à faire un tour dans les logs /var/log/munin/ (ils sont assez bien fournis)

Les graphs sont mis à jour toutes les 5 min, vous pouvez changer cette intervalles dans la crontab nano /etc/cron.d/munin (pensez à adapter vos clients en conséquence).

 

Rajouter un client :

Je redonne la commande d'installation d'un client :

# aptitude install munin-node munin-plugins-extra

Il faut cette fois spécifier l'ip du serveur au client :

# nano /etc/munin/munin-node.conf
#allow ^127\\.0\\.0\\.1$
allow ^192.168.0.239$

(chez moi c'est 192.168.0.239, à vous d'adapter 😉 )

On pense à faire :

# /etc/init.d/munin-node restart

Maintenant sur le serveur, il faut rajouter une entrée pour votre client :

# nano /etc/munin/munin.conf  

exemple pour mes clients :

[RaspberryPI.phisical]
    address 192.168.0.200
    use_node_name yes

[XMPP.ovz]
    address 192.168.0.241
    use_node_name yes

Le nom est renseigner entre les "[ ]", j'y indique le nom et le type de machine, afin des les classer par catégories.

Ne pas oublier :

# /etc/init.d/munin restart

 

Ajouter de nouveaux graphs avec des plugins :

L'intérêt de Munin, c'est de pouvoir grapher ce que l'on veut !
 

Quelques exemples :

  • Monitorer températures, voltages, et vitesses des ventilateurs :
    (Dans mon cas, j'ai déjà installé lm_sensors, et j'ai déjà détecté mes sondes)

     

     

    # cd /etc/munin/plugins/
    # ln -s /usr/share/munin/plugins/sensors_ sensors_fan
    # ln -s /usr/share/munin/plugins/sensors_ sensors_volt
    # ln -s /usr/share/munin/plugins/sensors_ sensors_temp
    # /etc/init.d/munin-node restart

    Et on vérifie si les plugins sont bien pris reconnus :

    #munin-node-configure
    
    [...]
    sensors_                   | yes  | volt temp fan
    [...]

    Voilà ce que donne le graphique des températures (mis à jours toutes les 5 min) :

     

  • Grapher le nombre de requêtes MySQL :

     

     

    # cd /etc/munin/plugins/
    # ln -s /usr/share/munin/plugins/mysql_queries mysql_queries
    # /etc/init.d/munin-node restart

    Le résultat :

 

Voici à quoi ressemble mon Munin, lorsque je contacte le serveur : http://monchemin.fr/munin

Capture d'écran - 02042013 - 14:18:57

Et voici la vue (partielle) d'un client :

Capture d'écran - 02042013 - 14:21:59

Vus : 621
Publié par Sheldon.fr : 17