Debian 8 Jessie : configurer Munin avec Spawn-fgci sous nginx

Nous 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.
 

 

Add new comment

You must have Javascript enabled to use this form.