Munin en CGI, ameliorer les performances de munin.

Munin en CGI, ameliorer les performances de munin.

EDIT 28-03-2009: modification afin que apache puissent loger des informations dans /var/log/munin-graph.log

Lors du scan des différents logs pour la génération des graphiques pour [search]munin[/search] c’est la création des graphiques qui prend le plus de ressource processeur. La lecture et l’archivage des valeurs se fait très rapidement. Ces graphiques ne seront jamais vu dans la plus-part des cas. Ainsi l’idée est de généré les images uniquement au moment où vous consulterez les images.

Dans ce mode de fonctionnent c’est [search]apache[/search] qui va générer les fichiers, il lui faut donc un accès en écriture à ces fichiers:

sudo chgrp www-data /var/log/munin/ /var/log/munin/munin-graph.log
chmod g+w /var/log/munin /var/log/munin/munin-graph.log

sudo chown -R www-data /var/www/munin
sudo chmod -R g+w /var/www/munin

On peut maintenant configurer munin pour fonctionner en CGI, on ajoute au debut du fichier /etc/munin/munin.conf:

graph_strategy cgi
cgiurl /cgi-bin
giurl_graph /cgi-bin/munin-cgi-graph

n’oublier pas de valider le dossier CGI dans apache (contenue dans /etc/apache2/sites-available/default avec la configuration par défaut d’Ubuntu)

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
     AllowOverride None
     Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
     Order allow,deny
     Allow from all
</Directory>

Pour que la gestion des logs se face correctement:

modifier /etc/logrotate.d/munin afin que lors de la création des fichier de log, apache (www-data) puisse y insérer des informations

/var/log/munin/munin-update.log {
        daily
        missingok
        rotate 7
        compress
        notifempty
        create 660 munin www-data
}

On valide le tout avec un:

sudo /etc/init.d/apache2 restart

source

Voici l’influence du passage en CGI sur le serveur: