Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
munin [Le 21/04/2018, 09:59]
82.251.241.242 [Installation]
munin [Le 21/03/2023, 14:08] (Version actuelle)
maxireglisse [plugins Mysql]
Ligne 5: Ligne 5:
 ====== Munin : le grapheur pour surveiller les machines d'un parc ====== ====== Munin : le grapheur pour surveiller les machines d'un parc ======
  
-[[http://​munin-monitoring.org/​|Munin]] est un système complet de monitoring (ou métrologie) de machine. Il permet de générer une série de graphes à partir des informations envoyées par les autres machines : utilisation de la mémoire vive, « load average », utilisation du processeur, réseau,… Il permet même d'​envoyer des alertes par courriel ou vers [[Nagios]] en fonction de seuils d'​alerte prédéfinis.+[[https://​munin-monitoring.org/​|Munin]] est un système complet de monitoring (ou métrologie) de machine. Il permet de générer une série de graphes à partir des informations envoyées par les autres machines : utilisation de la mémoire vive, « load average », utilisation du processeur, réseau,… Il permet même d'​envoyer des alertes par courriel ou vers [[Nagios]] en fonction de seuils d'​alerte prédéfinis.
  
 Munin fonctionne sur le modèle client-serveur. Un petit démon tourne sur chacune des machines devant être surveillée : //​munin-node//​. Ce démon fournit les informations brutes concernant la machine dès que le grapheur //munin// les lui demande. Munin fonctionne sur le modèle client-serveur. Un petit démon tourne sur chacune des machines devant être surveillée : //​munin-node//​. Ce démon fournit les informations brutes concernant la machine dès que le grapheur //munin// les lui demande.
Ligne 18: Ligne 18:
  
 ==== Installation ==== ==== Installation ====
-Munin  est une application écrite en [[Perl|Perl]] qui génère des graphes grâce à [[rrdtool|rrdtool]]. ​Pou visualiser ces graphes munin génère des pages HTML. Comme pour toutes application web il faut donc avoir un serveur web déjà installé et fonctionnel. Le paquet munin fournit une configuration de base pour le serveur Apache mais cela peut généralement fonctionner avec [[nginx|Nginx]] ou [[lighttpd|Lighttpd]].+Munin  est une application écrite en [[Perl|Perl]] qui génère des graphes grâce à [[rrdtool|rrdtool]]. ​Pour visualiser ces graphes munin génère des pages HTML. Comme pour toutes application web il faut donc avoir un serveur web déjà installé et fonctionnel. Le paquet munin fournit une configuration de base pour le serveur Apache mais cela peut généralement fonctionner avec [[nginx|Nginx]] ou [[lighttpd|Lighttpd]].
 Cette documentation concerne une installation avec le serveur web Apache2. Cette documentation concerne une installation avec le serveur web Apache2.
  
Ligne 34: Ligne 34:
 === Serveur web (ici apache) === === Serveur web (ici apache) ===
  
-Lors de son installation munin active automatiquement sa configuration Apache en créant les liens symboliques sous /​etc/​apache2/​conf-avauilable/munin.conf qui pointent vers **/​etc/​munin/​apache24.conf.** Dans cette configuration les graphes sont accessibles que depuis l'​hôte local. Pour les rendre accessible depuis d'​autres machines il faut modifier le fichier **/​etc/​munin/​apache24.conf** ainsi :+Lors de son installation munin active automatiquement sa configuration Apache en créant les liens symboliques sous /​etc/​apache2/​conf-available/munin.conf qui pointent vers **/​etc/​munin/​apache24.conf.** Dans cette configuration les graphes sont accessibles que depuis l'​hôte local. Pour les rendre accessible depuis d'​autres machines il faut modifier le fichier **/​etc/​munin/​apache24.conf** ainsi :
  
 <​file>​Alias /munin /​var/​cache/​munin/​www <​file>​Alias /munin /​var/​cache/​munin/​www
Ligne 124: Ligne 124:
 === Accès au nœud === === Accès au nœud ===
  
-Pour que le grapheur accède aux informations du nœud, il faut ouvrir ​le firewall (si nécessaire,​ il s'agit du port **4949** par défaut) et indiquer quels sont les grapheurs qui peuvent ​se connecter.+Pour que le grapheur accède aux informations du nœud, il faut autoriser explicitement ​le grapheur à se connecter ​au nœud.
  
 Cette information est indiquée dans le fichier de configuration **/​etc/​munin/​munin-node.conf**. À la fin du fichier de configuration,​ vous trouverez une ligne de ce style : Cette information est indiquée dans le fichier de configuration **/​etc/​munin/​munin-node.conf**. À la fin du fichier de configuration,​ vous trouverez une ligne de ce style :
- +<​file>​allow ^127\.0\.0\.1$</​file>​
-  ​allow ^127\.0\.0\.1$+
  
 Pour autoriser votre grapheur à se connecter, vous ajouter une ligne du même type. Par exemple, si votre grapheur possède l'IP 192.168.0.253,​ vous ajoutez la ligne : Pour autoriser votre grapheur à se connecter, vous ajouter une ligne du même type. Par exemple, si votre grapheur possède l'IP 192.168.0.253,​ vous ajoutez la ligne :
  
-  ​allow ^192\.168\.0\.253$+<​file>​allow ^192\.168\.0\.253$</​file>​
  
 === Configuration des plugins === === Configuration des plugins ===
Ligne 153: Ligne 152:
 === Test des plugins === === Test des plugins ===
  
-Si vous créez vos plugins ou si vous désirez seulement tester la bonne configuration de vos plugins, vous ne devez pas lancer le plugins ​comme si vous lanciez un script shell. Vous devez utiliser la commande **munin-run**,​ par exemple :+Si vous créez vos plugins ou si vous désirez seulement tester la bonne configuration de vos plugins, vous ne devez pas lancer le plugin ​comme si vous lanciez un script shell. Vous devez utiliser la commande **munin-run**,​ par exemple :
   munin-run postgres_bgwriter   munin-run postgres_bgwriter
 le plugin sera alors lancé avec les variables nécessaires (nom utilisateur,​nom BDD ...) le plugin sera alors lancé avec les variables nécessaires (nom utilisateur,​nom BDD ...)
Ligne 159: Ligne 158:
 === Prise en compte d'une configuration du nœud modifiée === === Prise en compte d'une configuration du nœud modifiée ===
  
-Une fois les modifications effectuées,​ il faut redémarrer le nœud munin pour les prendre en compte à la prochaine interrogation depuis le serveur munin : <​code>​service ​munin-node ​restart</​code>​+Une fois les modifications effectuées,​ il faut redémarrer le nœud munin pour les prendre en compte à la prochaine interrogation depuis le serveur munin : <​code>​sudo systemctl restart ​munin-node</​code>​
 ==== plugins Apache ==== ==== plugins Apache ====
  
 Les plugins Apache ont besoin de la bibliothèque **[[apt>​libwww-perl]]**. Les plugins Apache ont besoin de la bibliothèque **[[apt>​libwww-perl]]**.
  
-Afin de récupérer les données statistique d'​apache le module **status** doit être activé ​avec le mode étendue. +Afin de récupérer les données statistique d'​apache le module **status** doit être activé : 
-Pour cela on vérifiera la présence des liens +<​code>​sudo a2enmod status</​code>​
-<​code>​/​etc/​apache2/​mods-enabled/​status.load  +
-/​etc/​apache2/​mods-enabled/​status.conf +
-</​code>​ +
-Si ceux-ci ne sont pas présents on l'​installera avec la commande : +
-<​code>​ +
-sudo a2enmod status +
-</​code>​ +
- +
-Le fichier status.conf doit contenir, au minimum, les directives suivantes : +
-<​code>​ +
-<​IfModule mod_status.c>​ +
- +
-<​Location /​server-status>​ +
-    SetHandler server-status +
-    Order deny,​allow +
-    Deny from all +
-    Allow from localhost ip6-localhost +
-</​Location>​ +
-ExtendedStatus On +
- +
-</​IfModule>​ +
-</​code>​+
  
 ==== plugins Mysql==== ==== plugins Mysql====
  
-Normalement les plugins mysql sont directement ​activé ​à l'​installation. ​+Normalement les plugins mysql sont directement ​activés ​à l'​installation.
  
 Si ce n'est pas le cas, vous pouvez taper: ​ <​code>​munin-node-configure</​code>​ Si ce n'est pas le cas, vous pouvez taper: ​ <​code>​munin-node-configure</​code>​
  
-Cela vous donnera une liste des mods en présicant ​s'ils sont installé ​et s'ils peuvent fonctionner. ​+Cela vous donnera une liste des plugins ​en précisant ​s'ils sont installés ​et s'ils peuvent fonctionner.
  
-Si vous avez une erreur pour les plugins mysql, vous devrez corriger les erreurs et réactiver manuellement les plugins mysql. ​+Si vous avez une erreur pour les plugins mysql, vous devrez corriger les erreurs et réactiver manuellement les plugins mysql.
  
 == Erreur Missing dependency Cache::​Cache== == Erreur Missing dependency Cache::​Cache==
 Vous pouvez résoudre cette erreur en installant le paquet: **[[apt>​libcache-cache-perl]]** Vous pouvez résoudre cette erreur en installant le paquet: **[[apt>​libcache-cache-perl]]**
  
-Une fois installé, vérifier que votre problème est bien corrigé avec munin-node-configure. ​+Une fois installé, vérifier que votre problème est bien corrigé avec munin-node-configure.
 Vous pouvez ensuite réactiver les plugins mysql: <​code>​ln -s /​usr/​share/​munin/​plugins/​mysql_* /​etc/​munin/​plugins/</​code>​ Vous pouvez ensuite réactiver les plugins mysql: <​code>​ln -s /​usr/​share/​munin/​plugins/​mysql_* /​etc/​munin/​plugins/</​code>​
 Pour finir, rechargez la configuration de munin pour que ce soit pris en compte: reload munin-node Pour finir, rechargez la configuration de munin pour que ce soit pris en compte: reload munin-node
  
-== Installer ​d'​avantage ​de plugin ​MySQL==+== Installer ​davantage ​de plugins ​MySQL== 
 +<​note>​Munin est un outil de surveillance qui consomme peu de ressources, mais l'​activation des plugins MySQL peut augmenter significativement les ressources utilisées.</​note>​ 
 Vous pouvez installer plusieurs autres plugins mysql pour suivre par exemple la valeur de max_connection,​ le débit réseau, le type de requête etc ... Vous pouvez installer plusieurs autres plugins mysql pour suivre par exemple la valeur de max_connection,​ le débit réseau, le type de requête etc ...
-Pour avoir une liste des plugins que vous pouvez ajouter allez dans le dossier: ​+Pour avoir une liste des plugins que vous pouvez ajouter allez dans le dossier:
 <​code>​cd /​usr/​share/​munin/​plugins</​code>​ <​code>​cd /​usr/​share/​munin/​plugins</​code>​
 et faites: et faites:
 <​code>​./​mysql_ suggest</​code>​ <​code>​./​mysql_ suggest</​code>​
-Vous obtiendrez donc la liste des graphs que peut faire mysql_. ​+Vous obtiendrez donc la liste des graphs que peut faire mysql_.
 Exemple: Exemple:
   * bin_relay_log   * bin_relay_log
Ligne 238: Ligne 217:
   * tmp_tables   * tmp_tables
  
-Si vous voulez ajouter qcache par exemple, faites un lien de la sorte:+Si vous voulez ajouter qcache par exemple, faites un lien de la sorte :
 <​code>​ ln -s /​usr/​share/​munin/​plugin/​mysql_ /​etc/​munin/​plugins/​mysql_qcache</​code>​ <​code>​ ln -s /​usr/​share/​munin/​plugin/​mysql_ /​etc/​munin/​plugins/​mysql_qcache</​code>​
-C'est donc sous la forme: ln -ls /​usr/​share/​munin/​plugin/​mysql_ /​etc/​munin/​plugins/​mysql_NomDuPlugin+C'est donc sous la forme :  
 +<​code> ​ln -/​usr/​share/​munin/​plugin/​mysql_ /​etc/​munin/​plugins/​mysql_NomDuPlugin</​code>​
  
 ==== Plugins Proftpd ==== ==== Plugins Proftpd ====
Ligne 262: Ligne 242:
  
 <​note>​L'​auteur tient à signaler que les options de configuration pour les plugins Proftpd peuvent changer (groupe et propriétaire...),​ c'est à vous de décider suivant ce qui vous parait le mieux.</​note>​ <​note>​L'​auteur tient à signaler que les options de configuration pour les plugins Proftpd peuvent changer (groupe et propriétaire...),​ c'est à vous de décider suivant ce qui vous parait le mieux.</​note>​
 +
 +==== Plugin df ====
 +
 +Le plugin df, comme tous les plugins qui affichent l'​utilisation des disques, risquent de ne pas afficher certaines partitions. La première chose à faire, est de les faire tourner en root en éditant le fichier /​etc/​munin/​plugin-conf.d/​munin-node afin de rajouter dans la section df user root :
 +
 +<​code>​
 +[df*]
 +user root
 +</​code>​
 +
 +Puis relancer le service :
 +
 +<​code>​
 +sudo service munin-node restart
 +</​code>​
 +
 +Vous devriez alors voir toutes vos partitions sauf /home, c'est une nouveauté avec systemd.
 +
 +Il vous faudra alors créer un fichier /​etc/​systemd/​system/​munin-node.service.d/​override.conf contenant :
 +
 +<​code>​
 +[Service]
 +ProtectHome=read-only
 +</​code>​
 +
 +Puis relancer systemctl :
 +
 +<​code>​
 +sudo systemctl daemon-reload
 +</​code>​
 +
 +Puis relancer munin :
 +
 +<​code>​
 +sudo service munin-node restart
 +</​code>​
 +
 +Vous devriez maintenant voir toutes vos partitions.
 +
 +S'il en manque, vous pouvez les forcer en éditant de nouveau /​etc/​munin/​plugin-conf.d/​munin-node et dans la section [df*], mettre une ligne comme :
 +
 +<​code>​
 +     ​env.include_re /dev/sdc2 /dev/sdd2 /dev/md3
 +</​code>​
 +
 +S'il y en a en trop, ça va ressembler à :
 +
 +<​code>​
 +     ​env.exclude_re /run /dev/shm /run/lock /​sys/​fs/​cgroup /​run/​user/​1000
 +</​code>​
 +
 +Ce qui chez moi donne :
 +
 +<​code>​
 +[df*]
 +user root
 +env.warning 92
 +env.critical 98
 +#​env.exclude_re ^/run/user
 +     ​env.include_re /dev/sdc2 /dev/sdd2 /​dev/​md3 ​
 +     ​env.exclude_re /run /dev/shm /run/lock /​sys/​fs/​cgroup /​run/​user/​1000
 +</​code>​
 +
 +Une fois ces modifications effectuées,​ il faut de nouveau relancer munin :
 +
 +<​code>​
 +sudo service munin-node restart
 +</​code>​
 +
 +==== Plugin sensors_ ====
 +
 +Ce plugin permet d'​afficher la température,​ la tension et la vitesse des ventilateurs. Il utilise [[:​lm-sensors]] pour cela. 
 +
 +Théoriquement,​ on peut dire à Munin de ne pas grapher tel ou tel capteur (température incohérente,​ ventilateur affichant systématiquement une vitesse de rotation à 0...) en éditant /​etc/​munin/​plugin-conf.d/​sensors.conf et en rajoutant :
 +<​code>​
 +[sensors_*]
 +  env.ignore_temp3
 +  env.ignore_temp4
 +  env.ignore_temp5
 +  env.ignore_fan5
 +</​code>​
 +
 +Mais ça ne fonctionne pas.
 +
 +Le work-around,​ c'est de créer un fichier /​etc/​sensors.d/​ignore.conf qui indiquera directement à lm-sensors quels capteurs ignorer.
 +
 +Par exemple, si
 +
 +<​code>​
 +sensors
 +</​code>​
 +
 +vous retourne :
 +
 +<​code>​
 +it8620-isa-0a40
 +Adapter: ISA adapter
 +in0:         ​408.00 mV (min =  +0.00 V, max =  +3.06 V)
 +in1:           2.51 V  (min =  +0.00 V, max =  +3.06 V)
 +in2:           2.03 V  (min =  +0.00 V, max =  +3.06 V)
 +in3:           2.02 V  (min =  +0.00 V, max =  +3.06 V)
 +in4:           1.06 V  (min =  +0.00 V, max =  +3.06 V)
 +in5:         ​948.00 mV (min =  +0.00 V, max =  +3.06 V)
 +in6:           2.50 V  (min =  +0.00 V, max =  +3.06 V)
 +3VSB:          3.38 V  (min =  +0.00 V, max =  +6.12 V)
 +Vbat:          3.14 V
 +fan1:           0 RPM  (min =    0 RPM)
 +fan2:           0 RPM  (min =    0 RPM)
 +fan3:           0 RPM  (min =    0 RPM)
 +fan4:           0 RPM  (min =    0 RPM)
 +fan5:           0 RPM  (min =    0 RPM)
 +temp1: ​       +33.0°C ​ (low  = +127.0°C, high = +127.0°C) ​ sensor = thermistor
 +temp2: ​       +36.0°C ​ (low  = +127.0°C, high = +127.0°C) ​ sensor = thermistor
 +temp3: ​       -55.0°C ​ (low  = +127.0°C, high = +127.0°C) ​ sensor = thermistor
 +temp4: ​       +41.0°C
 +temp5: ​       +46.0°C
 +temp6: ​       +46.0°C
 +</​code>​
 +
 +Le nom du chip est it8620-isa-0a40 et grapher les fan et temp3 ne sert à rien. On va donc éditer le fichier /​etc/​sensors.d/​ignore.conf
 +
 +<​code>​
 +sudo vim /​etc/​sensors.d/​ignore.conf
 +</​code>​
 +
 +afin qu'il ressemble à ça :
 +
 +<​code>​
 +chip "​it8620-isa-0a40"​
 +ignore temp3
 +ignore fan1
 +ignore fan2
 +ignore fan3
 +ignore fan4
 +ignore fan5
 +</​code>​
 +
 +Ainsi ces 6 capteurs ne seront plus graphés dans Munin et n’apparaitront plus lorsque vous lancerez la commande sensors.
  
 ==== Résolution des problèmes courants ==== ==== Résolution des problèmes courants ====
Ligne 311: Ligne 429:
 ===== Liens ===== ===== Liens =====
  
-  * [[http://​munin-monitoring.org//​|Site officiel de Munin (EN)]]+  * [[https://​munin-monitoring.org//​|Site officiel de Munin (EN)]]
   * [[http://​muninexchange.projects.linpro.no/​|Autres plugins Munin (EN)]]   * [[http://​muninexchange.projects.linpro.no/​|Autres plugins Munin (EN)]]
   * Exemple de Munin en action : [[http://​munin.ping.uio.no/​]],​ [[http://​demo.munin-monitoring.org | Démo sur le site officiel]]   * Exemple de Munin en action : [[http://​munin.ping.uio.no/​]],​ [[http://​demo.munin-monitoring.org | Démo sur le site officiel]]
 +  *[[:​Nagios]]
 +  *[[:​Shinken]],​ écrit en python et pleinement compatible avec Nagios
 +  *[[:​Sysstat]] [[https://​ubunlog.com/​fr/​systat-herramienta-monitorizar-ubuntu|Blog tutoriel]]
 +  *[[:vROps]] VMware vRealize Operations
  
 ---- ----
  
 //​Contributeurs : [[utilisateurs:​ostaquet]],​ [[utilisateurs:​stephaneguedon]],​ [[utilisateurs:​elemmire]],​ [[utilisateurs:​rapidos]],​ [[utilisateurs:​MaMieMando]],​ [[http://​karchnu.fr|Karchnu]] // //​Contributeurs : [[utilisateurs:​ostaquet]],​ [[utilisateurs:​stephaneguedon]],​ [[utilisateurs:​elemmire]],​ [[utilisateurs:​rapidos]],​ [[utilisateurs:​MaMieMando]],​ [[http://​karchnu.fr|Karchnu]] //
  • munin.1524297593.txt.gz
  • Dernière modification: Le 21/04/2018, 09:59
  • par 82.251.241.242