18
0
Fork 0

HowtoMunin: ajustements manuels

This commit is contained in:
Jérémy Lecour 2016-12-28 16:23:12 +01:00 committed by Jérémy Lecour
parent 240b9dcc8c
commit caff5a686e
1 changed files with 43 additions and 41 deletions

View File

@ -16,7 +16,7 @@ Munin ajoute un cron, qui s'exécute toutes les 5 minutes, il se situe dans `/et
### Configuration générale
Le fichier `/etc/munin/munin.conf` permet de configurer munin. Par défaut les graphs sont générés dans `/var/cache/munin/www`, on peut soit le changer, soit faire un lien symbolique dans `/var/www`.
Le fichier `/etc/munin/munin.conf` permet de configurer Munin. Par défaut les graphs sont générés dans `/var/cache/munin/www`, on peut soit le changer, soit faire un lien symbolique dans `/var/www`.
Changer le nom d'hôte :
@ -30,8 +30,8 @@ Changer le nom d'hôte :
## Fonctionnement
Toutes les 5 minutes, munin va aller interroger ses "nodes" listés dans munin.conf (par défaut uniquement localhost.localdomain).
Il va ainsi mettre à jour ses fichiers RRD stockés dans /var/lib/munin/ puis générer des graphes en PNG à partir des fichiers RRD.
Ces graphes PNG, stockés dans /var/cache/munin se retrouveront affichés dans des pages HTML, également générées.
Il va ainsi mettre à jour ses fichiers RRD stockés dans `/var/lib/munin` puis générer des graphiques (images PNG) à partir des fichiers RRD.
Ces graphiques PNG, stockés dans `/var/cache/munin` se retrouveront affichés dans des pages HTML, également générées.
### Fichiers RRD
@ -40,9 +40,9 @@ Les fichiers RRD sont les données les plus importantes, ils stockent en effet t
À chaque plugin est associé un ou plusieurs fichiers RRD.
~~~
% ls *load-*
$ ls *load-*
localhost.localdomain-load-load-g.rrd
% ls *cpu-*
$ ls *cpu-*
localhost.localdomain-cpu-idle-d.rrd localhost.localdomain-cpu-iowait-d.rrd localhost.localdomain-cpu-irq-d.rrd localhost.localdomain-cpu-nice-d.rrd
localhost.localdomain-cpu-softirq-d.rrd localhost.localdomain-cpu-steal-d.rrd localhost.localdomain-cpu-system-d.rrd localhost.localdomain-cpu-user-d.rrd
~~~
@ -51,7 +51,7 @@ Si vous n'avez que les fichiers RRD (cas d'une sauvegarde par exemple), vous pou
Voici un exemple pour tracer un graphe de load sur un intervalle passé :
~~~
% rrdtool graph foo.png -a PNG --start -15d --end -4d --width 800 --height 800 'DEF:load=localhost.localdomain-load-load-g.rrd:42:AVERAGE' 'LINE1:load#ff0000:Load' -l 0 -u 1
$ rrdtool graph foo.png -a PNG --start -15d --end -4d --width 800 --height 800 'DEF:load=localhost.localdomain-load-load-g.rrd:42:AVERAGE' 'LINE1:load#ff0000:Load' -l 0 -u 1
~~~
## Munin 2
@ -75,17 +75,17 @@ De même pour `/etc/logrotate.d/munin`, section `/var/log/munin/munin-cgi-graph.
create 660 www-data munin
~~~
Démarrer le démon FastCGI avec spawn-fcgi (paquet à installer) :
Démarrer le démon FastCGI avec `spawn-fcgi` (paquet à installer) :
~~~
spawn-fcgi -s /var/run/munin/spawn-fcgi-munin-graph.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-graph
~~~
On le mettra dans /etc/rc.local pour le lancer au démarrage de la machine (un script d'init bien fait est disponible sur <http://files.julienschmidt.com/public/cfg/munin/spawn-fcgi-munin-graph).>
On le mettra dans `/etc/rc.local` pour le lancer au démarrage de la machine (un script d'init bien fait est disponible sur <http://files.julienschmidt.com/public/cfg/munin/spawn-fcgi-munin-graph>
En Debian 8 on pourra créer une unité systemd :
~~~
~~~{.ini}
[Unit]
Description=Munin zoom for nginx.
After=network.target
@ -101,7 +101,7 @@ WantedBy=default.target
Enfin dans le vhost concerné d'Nginx, ajoutez-ceci :
~~~
~~~{.nginx}
location /munin/ {
alias /var/cache/munin/www/;
}
@ -116,27 +116,27 @@ location ^~ /munin-cgi/munin-cgi-graph/ {
### Avec Apache
Installer libapache2-mod-fcgid puis ajouter au vhost :
Installer `libapache2-mod-fcgid` puis ajouter au vhost :
~~~
~~~{.apache}
# Munin cgi
# Ensure we can run (fast)cgi scripts
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
<Location /munin-cgi/munin-cgi-graph>
Options +ExecCGI
<IfModule mod_fcgid.c>
SetHandler fcgid-script
</IfModule>
<IfModule mod_fastcgi.c>
SetHandler fastcgi-script
</IfModule>
<IfModule !mod_fastcgi.c>
<IfModule !mod_fcgid.c>
SetHandler cgi-script
</IfModule>
</IfModule>
Allow from all
</Location>
# Ensure we can run (fast)cgi scripts
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
<Location /munin-cgi/munin-cgi-graph>
Options +ExecCGI
<IfModule mod_fcgid.c>
SetHandler fcgid-script
</IfModule>
<IfModule mod_fastcgi.c>
SetHandler fastcgi-script
</IfModule>
<IfModule !mod_fastcgi.c>
<IfModule !mod_fcgid.c>
SetHandler cgi-script
</IfModule>
</IfModule>
Allow from all
</Location>
~~~
## Plugins
@ -189,7 +189,6 @@ group munin
Il est possible d'utiliser plusieurs fois un même plugin mais avec des paramètres différents. C'est très utile pour le plugin MySQL par exemple.
~~~
/etc/munin/plugins# for type in bytes queries slowqueries threads; do for instance in 3307 3309; do ln -s /usr/share/munin/plugins/mysql_${type} mysql_${instance}_${type}; done; done
/etc/munin/plugins# ls -lha mysql_330*
@ -218,7 +217,7 @@ env.mysqlopts --defaults-extra-file=/etc/mysql/debian.cnf -h127.0.0.1 -P3309
## Le plugin postgresql
Installer libdbd-pg-perl
Installer `libdbd-pg-perl`
~~~
# aptitude install libdbd-pg-perl
@ -234,7 +233,7 @@ ln -s /usr/share/munin/plugins/postgres_users /etc/munin/plugins/
ln -s /usr/share/munin/plugins/postgres_xlog /etc/munin/plugins/
~~~
Pour les plugins wildcard finissant par _ ajoutez _ALL pour monitorer toutes les BDD :
Pour les plugins wildcard finissant par `_` ajoutez `ALL` pour monitorer toutes les BDD :
~~~
ln -s /usr/share/munin/plugins/postgres_cache_ /etc/munin/plugins/postgres_cache_ALL
@ -252,12 +251,13 @@ ln -s /usr/share/munin/plugins/postgres_scans_ /etc/munin/plugins/postgres_scans
ln -s /usr/share/munin/plugins/postgres_tuples_ /etc/munin/plugins/postgres_tuples_NOMBDD
~~~
Attention avec Squeeze LTS, la version du serveur contient lts (ex: PostgreSQL 8.4.22lts5) et le plugin ne fonctionne plus.
Il faut modifier le fichier /usr/share/perl5/Munin/Plugin/Pgsql.pm et remplacer la ligne :
Attention avec **Squeeze LTS**, la version du serveur contient lts (ex: PostgreSQL 8.4.22lts5) et le plugin ne fonctionne plus.
Il faut modifier le fichier `/usr/share/perl5/Munin/Plugin/Pgsql.pm` et remplacer la ligne :
~~~
unless ($v =~ /^PostgreSQL (\d+)\.(\d+)\.(\d+) on/);
~~~
par :
~~~
@ -275,7 +275,7 @@ env.queries evolix.fr@ns2.evolix.net evolix.fr@romario.evolix.net
### Le plugin bind_rndc
Ajouter les lignes suivante dans `/etc/munin/plugin-conf.d/munin-node`
Ajouter les lignes suivante dans `/etc/munin/plugin-conf.d/munin-node` :
~~~
[bind9_rndc]
@ -283,11 +283,11 @@ user root
env.querystats /var/chroot-bind/var/cache/bind/named.stats
~~~
Assurez-vous d'avoir configuré le fichier named.stats, voir [wiki:HowtoBind#Graphsdesstatsviarndc configuration de bind].
Assurez-vous d'avoir configuré le fichier `named.stats`, voir [HowtoBind#Graphsdesstatsviarndc].
### Le plugin bind
Assurez-vous d'avoir configurer un « channel de log » pour les requêtes DNS. Cf. [wiki:HowtoBind#Graphsdesacc%C3%A8sviaunfichierdelog configuration de bind].
Assurez-vous d'avoir configurer un « channel de log » pour les requêtes DNS. Cf. [HowtoBind#Graphsdesacc%C3%A8sviaunfichierdelog].
Ajouter les lignes suivante dans `/etc/munin/plugin-conf.d/munin-node`
@ -347,7 +347,7 @@ env.squidhost 127.0.0.1
env.squidport 80
~~~
S'assurer que les directives suivantes sont bien présentes dans /etc/squid3/squid.conf :
S'assurer que les directives suivantes sont bien présentes dans `/etc/squid3/squid.conf` :
~~~
# munin
@ -367,7 +367,7 @@ squidclient -p 80 cache_object://127.0.0.1/counters
## Débug
Soucis droits sur images. Si munin n'affice pas les images, c'est peut-être un souci de droits. Vérifier les droits dans /var/cache/munin/www/*/*/. Si les .png sont en 600, faire ceci :
Soucis droits sur images. Si munin n'affice pas les images, c'est peut-être un souci de droits. Vérifier les droits dans `/var/cache/munin/www/*/*/`. Si les .png sont en 600, faire ceci :
~~~
# echo "umask 022" >> /etc/default/cron
@ -391,4 +391,6 @@ $ muninrun -d <plugin> #présent dans /etc/munin/plugins/
### Regarder dans la doc
`$ munindoc <plugin>`
~~~
$ munindoc <plugin>
~~~