Debian 8 Jessie : configurer Munin avec Spawn-fgci sous nginx
Sun, 02/21/2016 - 14:34 — geek17Nous avons vu dans l'article précédent comment installer Munin pour monitorer les performances de son serveur.
Dans cet article, nous allons configurer Munin pour qu'il ne génère plus les images des graphiques à chaque lecture des données monitorées.
Il utilisera à la place des scripts FCGI pour les générer en live lorsque l'on consultera les données.
Cela permet de limiter la charge CPU du serveur qui ne sera plus sollicité toutes les 5 minutes pour rafraichir les graphiques.
Installation de Spawn-fgci
On installe tout d'abords le paquet Spawn-fgci
sudo apt-get install spawn-fcgi
Puis nous démarrons les 2 sockets FCGI qui se chargeront de générer les graphiques et les pages HTML de Munin, lors de la consultation.
sudo spawn-fcgi -s /var/run/munin/fcgi-graph.sock -U www-data -u www-data -g www-data /usr/lib/munin/cgi/munin-cgi-graph
sudo spawn-fcgi -s /var/run/munin/fcgi-html.sock -U www-data -u www-data -g munin /usr/lib/munin/cgi/munin-cgi-html
Ensuite, nous allons également modifier le fichier /etc/rc.local pour démarrer automatiquement ces 2 sockets au démarrage de votre serveur :
sudo nano /etc/rc.local
Et ajouter les 2 lignes suivantes avant la dernière ligne exit 0 que contient le fichier /etc/rc.local.
spawn-fcgi -s /var/run/munin/fcgi-graph.sock -U www-data -u www-data -g www-data /usr/lib/munin/cgi/munin-cgi-graph
spawn-fcgi -s /var/run/munin/fcgi-html.sock -U www-data -u www-data -g munin /usr/lib/munin/cgi/munin-cgi-html
Voila, au prochain reboot : les 2 sockets seront automatiquement relancés.
Modification de la configuration de Munin
Il faut maintenant indiquer à Munin d'utiliser les sockets FCGI pour générer les graphiques et les pages HTML.
On ouvre donc le fichier de configuration de Munin
sudo nano /etc/munin/munin.conf
Puis rechercher les lignes ci-dessous et adapter la valeur des variables comme indiqué ci-dessous
graph_strategy cgi
cgiurl_graph /cgi-bin/munin-cgi-graph
html_strategy cgi
Ajustement de la configuration du vHost
Il faut ensuite ajouter quelques lignes à la configuration du vHost Munin pour qu'il utilise les scripts FCGI.
On ouvre la config de notre vHost Munin
sudo nano /etc/nginx/conf.d/default.conf
Pour corriger la partie dédiée à Munin pour qu'elle soit identique à ci-dessous
server {
....
# Munin -- Début
location /munin {
alias /var/cache/munin/www/;
index index.html;
}
location /munin/static/ {
alias /etc/munin/static/;
expires modified +1w;
}
location /munin/ {
fastcgi_split_path_info ^(/munin)(.*);
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:/var/run/munin/fcgi-html.sock;
include fastcgi_params;
}
location ^~ /cgi-bin/munin-cgi-graph/ {
access_log off;
fastcgi_split_path_info ^(/cgi-bin/munin-cgi-graph)(.*);
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:/var/run/munin/fcgi-graph.sock;
include fastcgi_params;
}
# Munin -- Fin
....
}
Reste enfin à redémarrer les services Nginx et Munin
sudo systemctl restart nginx
sudo systemctl restart munin-node
Vérifier que tout fonctionne correctement et vous pouvez constater dans les graphiques Munin que la charge de Munin est maintenant réduite.
Dans l'article suivant, nous allons installer 2 plugins complémentaires pour minotorer les requêtes traitées par nginx et les nombre de connexion sur la base Mysql.