5

Installer Munin sur Debian 8 avec nginx

Munin est un logiciel libre et open-source de monitoring, qui permet de surveiller différents services en générant des graphiques.

munin-01

Munin

Munin fonctionne sur le principe client/serveur et composé de deux paquets principaux munin et munin-node :

  • munin (serveur maître) : récupère les données des machines surveillées et génère les graphiques.
  • munin-node (serveur client) : collecte les informations des différents services sur les serveurs à surveiller.

Un troisième paquets peut être installé, c’est celui qui va embarqué différents plugins supplémentaire : munin-plugins-extra.

La communications entre le serveur de monitoring et les serveurs surveillés utilisee le protocole TCP et le port 4949. L’accès au différents graphiques sont accessible via une interface web.

Dans le cas de cet article, le serveur maître et le client sont sur la même machine.

Installer Munin sur Debian 8

Toutes les commandes sont éxécutées avec le compte root.

  • Installation complète de Munin
  • apt update && apt install munin munin-node munin-plugins-extra
    
  • Création d’un lien symbolique pour la partie serveur web
  • ln -s /var/cache/munin/www /var/www/munin
  • Un exemple de serveur block nginx pour munin :
  • nano /etc/nginx/conf.d/munin.conf
    server {
    listen 80;
    server_name munin.domaine.tld;
    access_log /var/log/nginx/acces_munin.log;
    error_log /var/log/nginx/error_munin.log;
    
    server_name_in_redirect off;
    root /var/www/munin;
    
    # access munin par authentification
    location / {
    auth_basic "Administrator Login";
    auth_basic_user_file /var/www/.htpasswd;
    }
    
    location /munin/static/ {
    alias /etc/munin/static/;
    expires modified +1w;
    }
    
    }
    
  • Relance des services pour activer l’accès web de munin :
  • systemctl reload nginx
    systemctl restart munin-node
    

A partir de cette étape, il est possible d’accéder à l’interface web de munin via http://IP-serveur/munin/

Activations des plugins

Les plugins pour munin sont disponibles dans le répertoire : /usr/share/munin/plugins/.

  • Pour lister les plugins disponible :
  • munin-node-configure
  • Pour activer un plugin, il faut créer un lien symbolique vers le répertoire munin :
  • ln -s /usr/share/munin/plugins/NOM-PLUGINS /etc/munin/plugins/NOM-PLUGINS
  • Relancer munin-node pour la prise en compte :
  • systemctl restart munin-node
  • Tester les dépendances d’un plugin :
  • munin-node-configure --suggest | grep NOM-PLUGINS
  • Exemple de problème :
  • NOM-PLUGINS |no |no [LWP::UserAgent not found]

    Dans ce cas, il faut installer le paquet libwww-perl :

    apt install libwww-perl

    Pour installer encore plus de plugins, il faut aller les télécharger sur la page : https://github.com/munin-monitoring/contrib/tree/master/plugins

    Ajout du support Nginx pour Munin :

  • Dans le serveur bloc à surveiller, ajouter :
  • location /nginx_status {
            stub_status on;
            allow 127.0.0.1;
            deny all;
        }
    
  • Recharger la configuration pour nginx :
  • systemctl reload nginx
  • Editer le fichier /etc/munin/plugin-conf.d/munin-node et ajouter à la fin :
  • [nginx*]
    env.url http://localhost/nginx_status
    
  • Vérification de la configuration :
  • munin-node-configure --suggest
  • Créer les liens symboliques pour activer les plugins :
  • ln -sf /usr/share/munin/plugins/nginx_* /etc/munin/plugins/
  • Relance de munin-node :
  • systemctl restart munin-node

Ressources

Pour la partie installation, je me suis inspiré du blog de nicolargo
Pour la partie nginx, je me suis aidé de http://ayozone.org/2013/06/03/how-to-add-nginx-status-and-request-plugins-to-munin/

Partager l'article :





fred

"Dire que l'on s'en fiche du droit à la vie privée sous prétexte qu'on a rien à cacher, c'est comme déclarer que l'on se fiche du droit à la liberté d'expression sous prétexte qu'on a rien à dire." Edward Snowden

5 commentaires

  1. ca commence bien ….
    ln -s /var/cache/munin/www /var/www/munin
    ln: impossible de creer le lien symbolique…. aucun fichier ou dossier de ce type.
    tuto de merde fait par guignol qui pompe sans tester ni comprendre.
    c’est beau d’avoir la foi de vouloir aider les autres quand on est aussi et encore plus mauvais qu’eux

  2. Comment dire ? :-D
    suis-je un guignol car tu n’arrives pas à comprendre ce que tu fais ?
    Car cette installation de Munin à fonctionner dans mon cas. Ce que j’écris est un aide mémoire pour mes besoins, que je partage par le biai de mon blog et ce n’est en aucun cas un wiki officiel.
    Bref, je doute que tu viennes lire la réponse à ton commentaire, si c’est bien un commentaire et non un troll car tu n’as même pas eu le courage d’indiquer une boite mail valide…

  3. @toto Avant d’insulter, faut peut-être apprendre à lire. ln -s /var/cache/munin/www /var/www/munin marche très bien, faut juste installer… munin, avant ! Ah ben zut c’est écrit ?

  4. Bonjour, Merci pour ceci
    Mais moi mon blème c’est de connecter les clients sur le serveur Munin qui ne marche peut tu m’aider please

    côté client

    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 ^192.168.1.117$
    allow ^::1$

    côté serveur

    dbdir /var/lib/munin
    htmldir /var/www/html/monitoring
    logdir /var/log/munin
    rundir /var/run/munin

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

    [localhost.localdomain]
    address 192.168.1.125
    use_node_name yes

    voici les deux fichiers que j’ai modifié

    Mais toujours sa n’affiche pas côté serveur

  5. @dadé:

    1) modifie le nom de ton hôte dans le fichier de conf côté serveur: au lieu du deuxième [localhost.localdomain], mets quelquechose comme [ma_machine.localdomain]

    2) Pense bien à redémarrer les services sur les PC en question: les commande sont
    systemctl restart munin (côté serveur) et
    systemctl restart munin-node (côté « lient)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.