Debian 8 Jessie : monitorer votre serveur avec Munin sous nginx

Introduction

Munin est un système de monitoring permettant de suivre l'utilisation des ressources et des services d'un serveur :

  • charge du processeur
  • utilisation de la mémoire RAM
  • utilisation des disques : temps d'accès, débit...
  • nombre de connexions sur une base MySQL
  • nombre de connexions simultanées sur votre serveur web : apache ou nginx
  • réseau...

Munin est une application client/serveur, elle est donc décomposée en deux paquets principaux munin et munin-node :

  • munin (le serveur) : il récupère les données issues de la ou des machines surveillées, il génère les pages web de consultation et les graphiques associés.
  • munin-node (le client) : il collecte les mesures et les informations sur le serveur à surveiller.

Dans cet article, nous installons installer les 2 paquets sur notre serveur.

 

Installation des paquets

Comme d'habitude, on utilise la commande apt-get qui va bien pour installer le serveur et le client.
On installe également le paquet munin-plugins-extra qui ajoute quelques plugins supplémentaire que l'on verra par la suite.

sudo apt-get install munin munin-node munin-plugins-extra

 

Ajout de Munin dans la configuration du vHost par défaut de notre serveur

Par défaut Munin génère le contenu HTML et les graphiques dans le répertoire /var/cache/munin/www.

On ouvre donc le vHost par défaut 

sudo nano /etc/nginx/conf.d/default.conf

Et on ajoute

server {
    ....
    # Munin -- Début
    location /munin {
        alias /var/cache/munin/www/;
        index index.html;
    }

    location /munin/static/ {
        alias /etc/munin/static/;
        expires modified +1w;
    }
    # Munin -- Fin
    ....
}

Puis on redémarre Nginx pour prendre en compte les modifications.

sudo service nginx restart

 

Consultation des données de monitoring

Pour accéder à l'interface de Munin, il vous suffit d'ouvrir une page à l'adresse http://<IP de votre serveur>/munin

Par défaut, une tache cron se lance toutes les 5 minutes pour lire les données à collecter et mettre à jour les graphiques.
Les graphiques sont en réalités des images PNG qui sont générées après chaque lecture (toutes les 5 minutes donc).

La charge CPU générée par la création des images est limitée si vous avez un seul serveur à monitorer et si vous n'avez pas trop de plugin installés...
Mais il est possible de modifier ce fonctionnement par défaut de Munin en lui demandant de générer les images en live uniquement lorsqu'on souhaite les consulter (via FCGI).
FCGI est également obligatoire (avec nginx) si vous souhaitez zoomer à l'intérieur des graphiques.

Vous pouvez suivre la mise en place de FCGI dans le prochain article Configurer Munin avec Spawn-fgci sous nginx

 

Commentaires

Bonjour,

tout d'abord merci pour ce super tuto ! :)

Je suis novice, j'ai suivi chaque étape, et je me retrouve avec cette erreur lorsque je vais sur cette page http://192.168.1.10/munin :
404 Not Found
nginx/1.6.2

je viens d'installer un serveur tout frais pour l'occasion, donc nginx fonctionne bien, puisque la page de test par défaut s'affiche bien (Welcome to nginx on Debian!). Qu'est ce que j'ai loupé ? je n'ai rien fait de plus ou de moins de ce qu'il y a d'indiqué dans ce tuto, je pense que mon problème se situe au niveau du vhost (pour info, j'ai bien supprimé les "...." au début et à la fin de l'exemple donné).

Merci d'avance !

Bonjour et de rien pour les tutos smiley

Vous utilisez nginx/1.6.2. Ce n'est donc pas la même version que mon tuto qui installe la dernière version de nginx depuis les dépots de nginx directement (cf Debian 8 Jessie : installer et configurer la dernière version de Nginx et PHP 7 FPM

De mémoire, la version "Debian" de nginx positionne le fichier de configuration par défaut dans /etc/nginx/sites-enabled/default . Vous devez ajouter la config vHost de munin dans ce fichier au lieu du fichier /etc/nginx/conf.d/default.conf indiqué dans mon tuto.

Bonjour,

et merci pour cette réponse rapide ! :)

bon du coup j'ai désinstaller nginx pour installer la nouvelle en suivant votre tuto (merci au passage). Seulement maintenant, je n'ai plus une erreur 404, mais 403 :)

403 Forbidden
nginx/1.11.10

j'imagine qu'il y a une question de permission à régler qq part ?

Merci de votre aide.

Bonjour, Vous devez vérifier que le dossier de Munin /var/cache/munin/www/ est bien accessible pour l'utilisateur qui execute nginx

Ajouter un commentaire

You must have Javascript enabled to use this form.