diff --git a/HowtoMunin.md b/HowtoMunin.md index 0d2e5add..0adee39a 100644 --- a/HowtoMunin.md +++ b/HowtoMunin.md @@ -7,20 +7,20 @@ title: Howto Munin. * [Détails sur les légendes](http://demo.munin-monitoring.org/munin-monitoring.org/demo.munin-monitoring.org/) -## Installation +# Installation ~~~ # apt install munin ~~~ -## Fonctionnement +# Fonctionnement Munin a une architecture 1 master - n nodes. -Le cron `/etc/cron.d/munin` s'exécute toutes les 5 minutes sur le master. Il interroge sur le port `4949` les nodes listés dans `/etc/munin/munin.conf` (par défaut uniquement localhost.localdomain) et récupère les données au format RRD. +Le cron `/etc/cron.d/munin` s'exécute toutes les 5 minutes sur le master. Il interroge les nodes listés dans `/etc/munin/munin.conf` (par défaut uniquement localhost.localdomain) sur leur port `4949` et récupère les données d'état du node. Les nodes ne stockent aucune donnée. -Puis, il met à jour les fichiers RRD stockés dans `/var/lib/munin`, puis génère des graphiques (images PNG) à partir des fichiers RRD. +Puis, il met à jour ses fichiers de données RRD stockés dans `/var/lib/munin`, et génère des graphiques (images PNG). Les graphiques PNG sont stockés dans `/var/cache/munin` et sont affichés dans des pages HTML, également générées. @@ -29,7 +29,7 @@ Le node peut être sur la même machine que le master, dans ce cas l'installatio Note : D'un point de vue réseau, ce sont les nodes qui ont le statut de serveur et le master qui se connecte en client sur leur port `4949`. -### Fichiers RRD +## Fichiers RRD Les fichiers RRD sont les données les plus importantes car ils stockent toutes les valeurs passées. @@ -51,9 +51,9 @@ $ rrdtool graph foo.png -a PNG --start -15d --end -4d --width 800 --height 800 ' ~~~ -## Configuration +# Configuration -### Configurer le master +## Configurer le master Le fichier `/etc/munin/munin.conf` permet de configurer le master. @@ -68,7 +68,7 @@ Pour changer le nom d'hôte : ~~~ -### Ajouter un node +## Ajouter un node **Sur le node :** @@ -120,13 +120,14 @@ Dans le firewall du master, il faut ouvrir le port 4949 en sortie : ~~~ -## Munin 2 +# Intégration avec un serveur web -Munin 2 permet enfin de zoomer sur les graphiques ! +Munin 2 permet de zoomer sur les graphiques. Pour que cela fonctionne il faut faire tourner un démon FastCGI et le script munin-cgi-graph. -### Intégration avec Nginx + +## Intégration avec Nginx Adapter les droits de `/var/log/munin/munin-cgi` : @@ -190,7 +191,8 @@ location ^~ /munin-cgi/munin-cgi-graph/ { } ~~~ -### Avec Apache + +## Intégration avec Apache Installer `libapache2-mod-fcgid` (attention apt redémarre Apache !), puis ajouter au vhost : @@ -221,7 +223,8 @@ ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph ~~~ -## Notifications + +# Notifications Munin est capable d'envoyer des mails quand un plugin atteint son seuil de warning ou critical. Toute la configuration se fait dans `munin.conf`, on indique un mail de contact, et éventuellement on ajuste les seuils (ou on les définit) d'un ou plusieurs plugins. @@ -248,7 +251,7 @@ env.seconds_behind_master_warning 120 env.seconds_behind_master_critical 800 ~~~ -## Plugins +# Plugins Les plugins sont stockés dans `/usr/share/munin/plugins`. @@ -266,7 +269,12 @@ lrwxrwxrwx 1 root root 40 3 juin 10:31 apache_accesses -> /usr/share/munin/p Pour ajouter un plugin à grapher il suffit donc de mettre en place un lien symbolique. Il faut ensuite redémarrer munin-node : `/etc/init.d/munin-node restart` -### Tester un plugin + +## Tester un plugin + +~~~ +$ munin-run -d #présent dans /etc/munin/plugins/ +~~~ Il peut être utile, et recommandé de tester le plugin avant de le mettre en place, pour cela il faut utiliser l'outil `munin-run --debug nom_du_plugin`. @@ -282,7 +290,8 @@ swap_in.value 19 swap_out.value 53 ~~~ -### Configurer le user/group d'un plugin + +## Configurer le user/group d'un plugin Selon les besoins, il peut être utile d'exécuter un plugin avec un utilisateur et un groupe particuliers. Pour cela il faut éditer le fichier `/etc/munin/plugin-conf.d/munin-node` et changer le user/group. @@ -374,7 +383,7 @@ par : unless ($v =~ /^PostgreSQL (\d+)\.(\d+)\.(\d+)lts(\d) on/); ~~~ -### Le plugin dnsresponsetime +## Le plugin dnsresponsetime Il faut éditer le fichier `/etc/munin/plugin-conf.d/munin-node` et ajouter la section du plugin pour spécifier un nom à résoudre et un ou des serveurs DNS : @@ -383,7 +392,7 @@ Il faut éditer le fichier `/etc/munin/plugin-conf.d/munin-node` et ajouter la s env.queries evolix.fr@ns2.evolix.net evolix.fr@romario.evolix.net ~~~ -### Le plugin bind_rndc +## Le plugin bind_rndc Ajouter les lignes suivante dans `/etc/munin/plugin-conf.d/munin-node` : @@ -418,7 +427,7 @@ Un bug nécessite de créer le fichier des infos munin à la main… # chmod 664 bind9.state ~~~ -### Le plugin tomcat +## Le plugin tomcat ~~~ # ln -s /usr/share/munin/plugins/tomcat_ tomcat_jvm @@ -439,7 +448,7 @@ env.password mon_pass env.timeout 30 ~~~ -### Le plugin squid +## Le plugin squid ~~~ ln -s /usr/share/munin/plugins/squid_cache /etc/munin/plugins/ @@ -475,7 +484,8 @@ squidclient -p 80 cache_object://127.0.0.1/info squidclient -p 80 cache_object://127.0.0.1/counters ~~~ -## Débug + +# 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 : @@ -493,13 +503,7 @@ su - munin --shell=/bin/bash ~~~ -### Tester le plugin - -~~~ -$ munin-run -d #présent dans /etc/munin/plugins/ -~~~ - -### Problème de graph, munin ne graphe plus +## Problème de graph, munin ne graphe plus Vérifier la conf du plugin qui ne graphe pas, dans /etc/munin/plugin-conf.d/munin-node @@ -518,13 +522,13 @@ On peut aussi vérifier que la requête vers l'url fonctionne en faisant un GET GET http://nomduserveur.evolix.net:8080/server-status-XXXXX?auto ~~~ -### Regarder dans la doc +## Regarder dans la doc ~~~ # munindoc ~~~ -### Il manque `/home` dans le *plugin* `df` +## Il manque `/home` dans le *plugin* `df` Attention, le *plugin* `df` est différent du *plugin* `diskstats`. @@ -540,9 +544,9 @@ Puis attendre la prochaine exécution du *cron* ou la lancer soi-même :`sudo - > On peut remplacer les commandes `mkdir` et `printf | tee` par `systemctl edit munin-node.service`. -### Les zooms ne s'affichent pas +## Les zooms ne s'affichent pas -Vérifier d'abord que l'on a bien activé les zooms : [HowtoMunin#munin-2]() +Vérifier d'abord que l'on a bien activé les zooms : [HowtoMunin#intégration-avec-un-serveur-web]() Si ça ne marche toujours pas, vérifier l'existence et les droits de `/var/log/munin/munin-cgi-graph.log` :