User Tools

Site Tools


informatique:logiciels:munin

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatique:logiciels:munin [2012/02/24 11:41] – [Activer un plugin] multiping pteuinformatique:logiciels:munin [2023/08/14 18:50] (current) – [Activer un plugin] pteu
Line 3: Line 3:
 ======Munin====== ======Munin======
  
-{{http://munin-monitoring.org/static/munin.png}}+{{:informatique:logiciels:munin.png |}}
  
-[[http://munin-monitoring.org/|Munin]] est un logiciel libre qui se divise en 2 parties : un récolteur de données (**munin-node**) qu'on installe sur les machines à superviser ; et un agrégateur de données (**munin**) qui tourne sur le serveur front-end (le serveur de supervision). Munin-node recueille des données de performance sur des machines clientes ; Munin interroge tous les munin-node, enregistre les données dans une base RRD et l'affiche sur une interface web (Apache typiquement).+[[http://munin-monitoring.org/|Munin]] est un logiciel de métrologie libre qui se divise en 2 parties : un récolteur de données (**munin-node**) qu'on installe sur les machines à superviser ; et un agrégateur de données (**munin**) qui tourne sur le serveur front-end (le serveur de supervision). Munin-node recueille des données de performance sur des machines clientes ; Munin interroge tous les munin-node, enregistre les données dans une base RRD et les affiche dans des graphiques dans une interface web (Apache typiquement). 
 + 
 +{{ :informatique:logiciels:munin-graphe.png |}}
  
 =====key-features===== =====key-features=====
  
   * la communication entre Munin sur le serveur et Munin-node sur les postes clients se fait sur tcp/4949   * la communication entre Munin sur le serveur et Munin-node sur les postes clients se fait sur tcp/4949
-  * technologies employées : RRD (donc une base (my)SQL), serveur web (typiquement Apache)+  * technologies employées : RRD, serveur web (Apache, NGIX)
  
  
Line 16: Line 18:
 //sous Debian-like// //sous Debian-like//
  
-Dans un premier temps on va installer la partie serveur (munin). Mais comme je veux monitorer mon serveur, j'installe aussi la partie cliente dessus (en plus ça me permettra de valider son bon fonctionnement).+Dans un premier temps on va installer la partie serveur (munin). Mais comme je veux monitorer mon serveur, j'installe aussi la partie cliente (munin-node) dessus (en plus ça me permettra de valider son bon fonctionnement).
  
 <code bash> <code bash>
Line 31: Line 33:
 Sous Debian-like la configuration de Munin est située dans **/etc/munin** : Sous Debian-like la configuration de Munin est située dans **/etc/munin** :
  
-  * **apache.conf** est le fichier à inclure dans la configuration d'Apache. Si ce n'est pas déjà fait (si vous n'obtenez pas la mire) il faut créer un lien symbolique dans <apache_dir>/conf.d pour qu'Apache le prenne en compte ; puis redémarrer Apache :+  * **apache.conf** est le fichier à inclure dans la configuration d'Apache. Si ce n'est pas déjà fait il faut créer un lien symbolique dans <apache_dir>/conf.d pour qu'Apache le prenne en compte ; puis redémarrer Apache :
 <code bash> <code bash>
 ln -s /etc/munin/apache.conf /etc/apache2/conf.d/munin ln -s /etc/munin/apache.conf /etc/apache2/conf.d/munin
-/etc/init.d/apache2 restart+service apache2 restart
 </code> </code>
  
Line 49: Line 51:
     use_node_name yes     use_node_name yes
 </code> </code>
-Ici on voit le localhost (configuré par défaut) et j'ai rajouté une autre machine de mon LAN : 192.168.0.1.+Ici on voit le localhost (configuré par défaut) et j'ai rajouté une autre machine de mon LAN.
  
-Munin ne tourne pas comme daemon : il est lancé par cron (par défaut toutes les 5 minutes, cf /etc/cron.d/munin) donc pas besoin de le relancer pour prendre en compte une modification de configuration. Par contre il faudra attendre une bonne dizaine de minutes.+Munin ne tourne pas comme daemon : il est lancé par cron (par défaut toutes les 5 minutes, cf ''/etc/cron.d/munin'') donc pas besoin de le relancer pour prendre en compte une modification de configuration. Par contre il faudra attendre une bonne dizaine de minutes.
  
  
Line 69: Line 71:
 #[..] #[..]
 allow ^127\.0\.0\.1$ allow ^127\.0\.0\.1$
-# IP du collecteur (la machine où est installé munin+# IP du collecteur (la machine où est installé munin)
 allow ^192\.168\.0\.100$ allow ^192\.168\.0\.100$
 </code> </code>
Line 76: Line 78:
 ====Activer un plugin==== ====Activer un plugin====
  
-Tous les scripts installés par défaut avec Munin-node sont situés dans **/usr/share/munin/plugins**/ ; ce sont pour la pluspart des scripts perl. Quand ils sont activés, on créé un lien symbolique dans **/etc/munin/plugins/** ; si on veut ajouter ou supprimer un plugin il faut donc créer ou supprimer ce lien symbolique.+Tous les scripts installés par défaut avec Munin-node sont situés dans **/usr/share/munin/plugins**/ ; ce sont pour la plupart des scripts perl. Pour les activer, on créé un lien symbolique dans **/etc/munin/plugins/** ; pour les désactiver il suffit de supprimer le lien symbolique.
  
 Il est possible de re-scanner le système ; Munin-node propose alors la liste des plugins qu'il vous conseille d'installer : Il est possible de re-scanner le système ; Munin-node propose alors la liste des plugins qu'il vous conseille d'installer :
Line 126: Line 128:
 </code> </code>
  
-Pour tester un plugin, il existe la commande munin-run :+Pour tester un plugin, il existe la commande munin-run (le ''--debug'' n'est pas obligatoire) :
 <code bash> <code bash>
-munin-run squid_traffic +munin-run squid_traffic --debug 
-kbytes_in.value 178718 + # Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node 
-kbytes_out.value 4745747 + # Set /rgid/ruid/egid/euid/ to /119/65534/119 119 /65534/ 
-hit_kbytes_out.value 76359+ # Setting up environment 
 + # Environment squidport = 3129 
 + # About to run '/etc/munin/plugins/squid_traffic' 
 + kbytes_in.value 92441 
 + kbytes_out.value 785678 
 + hit_kbytes_out.value 1079
 </code> </code>
  
Line 137: Line 144:
 Après avoir installé munin-node, la commande ''munin-node-configure --suggest'' permet de visualiser les erreurs qu'il a rencontrées ; par exemple ici les plugins squid_* ne sont pas activés alors que Squid tourne sur ma machine ! Après avoir installé munin-node, la commande ''munin-node-configure --suggest'' permet de visualiser les erreurs qu'il a rencontrées ; par exemple ici les plugins squid_* ne sont pas activés alors que Squid tourne sur ma machine !
  
-La raison invoquée : ''[could not connect: Connection refused]'' est simple : mon Squid ne tourne pas sur le port par défaut (3128), il faut donc le préciser au plugin. En lisant le script perl de ce dernier on trouve :+La raison invoquée : ''[could not connect: Connection refused]'' est simple : mon Squid ne tourne pas sur le port standard (3128), il faut donc le préciser au plugin. En lisant le script perl de ce dernier on trouve :
 <code bash> <code bash>
 vi /usr/share/munin/plugins/squid_traffic vi /usr/share/munin/plugins/squid_traffic
Line 190: Line 197:
 /etc/init.d/munin-node restart /etc/init.d/munin-node restart
 </code> </code>
 +
 +==Graphes vides==
 +
 +Avec la dernière Debian (6.0) j'ai constaté que les courbes restent vides. En farfouillant les log on obtient :
 +<code bash>
 +tail /var/log/munin/munin-node.log
 +[..]
 +2013/01/03-11:45:02 [1138] Error output from apache_volume:
 +2013/01/03-11:45:02 [1138]      LWP::UserAgent not found at /etc/munin/plugins/apache_volume line 86.
 +</code>
 +
 +L'outil de diagnostic interne de Munin indique :
 +<code bash>
 +munin-node-configure --suggest
 +Plugin                     | Used | Suggestions
 +------                     | ---- | -----------
 +[..]
 +apache_accesses            | yes  | no [LWP::UserAgent not found]
 +apache_volume              | yes  | no [LWP::UserAgent not found]
 +</code>
 +
 +J'ai trouvé sur google qu'il manquait une librairie Perl de gestion de serveur web : libwww-perl. Malgré les multiples dépendances je l'ai installé, ai relancé munin-node et les graphes se sont peuplés :)
 +<code bash>
 +aptitude install libwww-perl
 +[..]
 +Les NOUVEAUX paquets suivants vont être installés :
 +  libfont-afm-perl{a} libhtml-format-perl{a} libhtml-parser-perl{a}
 +  libhtml-tagset-perl{a} libhtml-tree-perl{a} libmailtools-perl{a}
 +  libtimedate-perl{a} liburi-perl{a} libwww-perl
 +[..]
 +
 +service munin-node restart
 +</code>
 +
  
 ===netstat=== ===netstat===
-Le plugin netstat permet de récupérer les connexions established, actives, etc... et est désactivé par défaut. Pourtant, tout Linux qui se respecte dispose de la commande netstat ! Nous allons donc l'activé et préciser qu'il faut le lancer avec l'utilisateur root :+Le plugin netstat permet de récupérer les connexions established, actives, etc... et est désactivé par défaut. Pourtant, tout Linux qui se respecte dispose de la commande netstat ! Nous allons donc l'activer :
 <code bash> <code bash>
 ln -s /usr/share/munin/plugins/netstat /etc/munin/plugins/netstat ln -s /usr/share/munin/plugins/netstat /etc/munin/plugins/netstat
  
 +service munin-node restart
 +</code>
 +
 +Si au bout d'une dizaone de minute le graphe ne s'affiche pas, il faut peut-être le lancer en root :
 +<code bash>
 vi /etc/munin/plugin-conf.d/munin-node vi /etc/munin/plugin-conf.d/munin-node
 [netstat] [netstat]
 user root user root
  
-/etc/init.d/munin-node restart+service munin-node restart
 </code> </code>
 +
 +Dans mon cas le graphe s'affiche correctement sous Debian 6.0, mais les courbes ne sont pas cohérentes et semblent s'afficher sur des abscisses différentes. La manipulation suivante m'a permis de retrouver des graphes qui tiennent la route :
 +<code bash>
 +vi /usr/share/munin/plugins/netstat
 +# chercher la ligne suivante...
 +#        echo 'graph_title Netstat'
 +       echo 'graph_args --base 1000 --logarithmic'
 +#        echo 'graph_vlabel active connections'
 +        
 +# et la remplacer par celle-ci :
 +        echo 'graph_args -l 0 --base 1000'
 +</code>
 +
 +Sauvegarder et enregistrez le fichier et relancer le service :
 +<code bash>
 +service munin-node restart
 +</code>
 +
  
 ===multiping=== ===multiping===
 [[http://exchange.munin-monitoring.org/plugins/multiping/details|multiping]] est une amélioration du plugin ping_, qui permet de pinguer plusieurs destinations et d'afficher le résultat sur une seul graphique. [[http://exchange.munin-monitoring.org/plugins/multiping/details|multiping]] est une amélioration du plugin ping_, qui permet de pinguer plusieurs destinations et d'afficher le résultat sur une seul graphique.
- 
-{{http://static.k5-storitve.net/site_media/images/plugins/220-1220440630-308-1.png}} 
  
 <code bash> <code bash>
Line 218: Line 280:
 [multiping] [multiping]
 env.host www.google.fr www.free.fr www.orange.fr www.yahoo.fr env.host www.google.fr www.free.fr www.orange.fr www.yahoo.fr
- 
  
 /etc/init.d/munin-node restart /etc/init.d/munin-node restart
Line 224: Line 285:
  
 ===bind95_=== ===bind95_===
-[[http://exchange.munin-monitoring.org/plugins/bind95_/details|bind95_]] est un plugin pour tracer les statistiques DNS du logiciel bind version 9.5.+[[http://exchange.munin-monitoring.org/plugins/bind95_/details|bind95_]] est un plugin pour récupérer les statistiques DNS du logiciel bind version 9.5.
  
 {{http://static.k5-storitve.net/site_media/images/plugins/425-1250001091-ns1-bind95_-day.png}} {{http://static.k5-storitve.net/site_media/images/plugins/425-1250001091-ns1-bind95_-day.png}}
Line 248: Line 309:
 ln -s /usr/share/munin/plugins/bind95_ /etc/munin/plugins/bind95_ ln -s /usr/share/munin/plugins/bind95_ /etc/munin/plugins/bind95_
  
-au besoin préciser d'utiliser le compte root pour la récupération des stats+# utiliser le compte root pour la récupération des stats
 vi /etc/munin/plugin-conf.d/munin-node vi /etc/munin/plugin-conf.d/munin-node
-[bind95_]+[bind95]
 user root user root
  
Line 256: Line 317:
 </code> </code>
  
-====Installer un noeud sous Windows====+Le compte root est nécessaire si vous obtenez l'erreur suivante : 
 +<code bash> 
 +rndc: error: none:0: open: /etc/bind/rndc.key: permission denied 
 +rndc: could not load rndc configuration 
 +</code> 
 + 
 +===processes=== 
 +Pour qu'il marche il faut le lancer en root (sinon on ne graphe que les process appartenant à munin) ; donc : 
 +<code bash> 
 +vi /etc/munin/plugin-conf.d/munin-node 
 +[processes] 
 +user root 
 +</code> 
 + 
 +===df=== 
 + 
 +La partition /home n'est pas graphée ni détectée par un ''munin-run df --debug''. [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=918851|Internet]] m'apprend que le paramètre ''ProtectHome=true'' de systemd en est la cause ; en le désactivant : 
 +<code file /etc/systemd/system/multi-user.target.wants/munin-node.service> 
 +#ProtectHome=true 
 +ProtectHome=false 
 +</code> 
 +et en relançant le service ''systemctl restart munin-node && systemctl daemon-reload'', la partition ''/home'' est bien monitorée : 
 +<code bash> 
 +munin-run df | grep sda3 
 +_dev_sda3.value 85.964070979881 
 +</code> 
 + 
 +====Installer un nœud sous Windows====
  
 Il existe une [[http://munin-monitoring.org/wiki/HowToMonitorWindows|version de munin-node qui tourne sous Windows]] ; les plugins sont moins nombreux mais les principaux indicateurs de santé de la machine sont là (utilisation CPU, mémoire, disques, etc...) ! Il existe une [[http://munin-monitoring.org/wiki/HowToMonitorWindows|version de munin-node qui tourne sous Windows]] ; les plugins sont moins nombreux mais les principaux indicateurs de santé de la machine sont là (utilisation CPU, mémoire, disques, etc...) !
  
 Un léger bémol cependant pour le graphe de charge CPU qui, [[http://code.google.com/p/munin-node-win32/issues/detail?id=3#c0|appa]]-[[http://sourceforge.net/projects/munin-nodewin32/forums/forum/921022/topic/3807654|remment]], pose problème avec Windows 7 x64. Effectivement la sonde retourne 0, alors que le graphe de charge des processeurs retourne des valeurs cohérentes. Un léger bémol cependant pour le graphe de charge CPU qui, [[http://code.google.com/p/munin-node-win32/issues/detail?id=3#c0|appa]]-[[http://sourceforge.net/projects/munin-nodewin32/forums/forum/921022/topic/3807654|remment]], pose problème avec Windows 7 x64. Effectivement la sonde retourne 0, alors que le graphe de charge des processeurs retourne des valeurs cohérentes.
 +
 +====Graphes inaccessibles====
 +
 +Je me suis configuré un Munin aux petits oignons qui marchait très bien. Cependant, soudainement il s'est mis à ne plus afficher les graphes sur l'interface web. Aucun message d'erreur dans les logs, les fichiers des graphes sont bien mis à jour... mais ceux-ci n'ont pas les bons droits :
 +<code bash>
 +ll /var/cache/munin/www/localdomain/localhost.localdomain/
 +[..]
 +-rw-r----- 1 munin munin  13K juin  19 19:15 vmstat-day.png
 +</code>
 +
 +D'ailleurs Apache génère bien une erreur HTTP 403 dans ses logs.
 +
 +En toute honnêteté je ne suis parvenu à savoir ni pourquoi Munin s'est mis soudainement à générer ses graphes avec les mauvais droits, ni comment y remédier. N'ayant trouvé aucune piste sur notre ami commun (Google), j'ai contourné le problème en ajoutant simplement l'utilisateur d'Apache (www-data) au groupe munin :
 +<code bash>
 +adduser www-data munin
 +Ajout de l'utilisateur « www-data » au groupe « munin »...
 +Ajout de l'utilisateur www-data au groupe munin
 +Fait.
 +</code>
informatique/logiciels/munin.1330083667.txt.gz · Last modified: 2013/10/14 20:55 (external edit)