Debian 9 Stretch : monitorer votre serveur avec Munin sous nginx
Sun, 07/09/2017 - 18:30 — geek17Introduction
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