Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| munin [Le 25/04/2013, 16:27] – [plugins Mysql] 90.0.69.17 | munin [Le 21/03/2023, 14:08] (Version actuelle) – [plugins Mysql] maxireglisse | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| ---- | ---- | ||
| - | ====== Munin : le grapheur pour monitorer | + | ====== Munin : le grapheur pour surveiller |
| - | [[http:// | + | [[https:// |
| - | Munin fonctionne sur le modèle client-serveur. Un petit démon tourne sur chacune des machines devant être surveillée | + | Munin fonctionne sur le modèle client-serveur. Un petit démon tourne sur chacune des machines devant être surveillée |
| Pour surveiller un parc informatique, | Pour surveiller un parc informatique, | ||
| - | * le grapheur | + | * le grapheur |
| - | * le démon | + | * le démon |
| Dans la mythologie nordique, Hugin et Munin sont les deux corbeaux messagers d' | Dans la mythologie nordique, Hugin et Munin sont les deux corbeaux messagers d' | ||
| Ligne 18: | Ligne 18: | ||
| ==== Installation ==== | ==== Installation ==== | ||
| + | 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. | ||
| - | [[: | + | Installation des paquets sur le grapheur |
| + | < | ||
| + | |||
| + | Les modules Apache // | ||
| + | |||
| + | Il faut activer le module fcgid pour Apache | ||
| + | <code>sudo a2enmod fcgid</ | ||
| + | < | ||
| ==== Configuration ==== | ==== Configuration ==== | ||
| - | Déjà, si vous n' | + | |
| - | À la ligne "Allow from localhost 127.0.0.1/8 ::1" il faut la modifier pour accepter votre adresse, si c'est dans votre réseau | + | === Serveur web (ici apache) === |
| + | |||
| + | Lors de son installation munin active automatiquement sa configuration Apache en créant les liens symboliques sous / | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | Require local | ||
| + | Require ip a.b.c.d w.x.y.z | ||
| + | </RequireAny> | ||
| + | Options None | ||
| + | </ | ||
| + | |||
| + | ScriptAlias / | ||
| + | < | ||
| + | < | ||
| + | Require | ||
| + | Require ip a.b.c.d w.x.y.z | ||
| + | </RequireAny> | ||
| + | < | ||
| + | SetHandler fcgid-script | ||
| + | </ | ||
| + | < | ||
| + | SetHandler cgi-script | ||
| + | </ | ||
| + | </ | ||
| + | où a.b.c.d et w.x.y.z sont les adresses IP des machine autorisées à consulter les graphes munin qui seront accessibles par http:// | ||
| + | Pour plus d' | ||
| + | |||
| + | === Serveur Munin central === | ||
| Il faut indiquer à Munin quels hôtes il doit surveiller. Dans le fichier **/ | Il faut indiquer à Munin quels hôtes il doit surveiller. Dans le fichier **/ | ||
| Ligne 32: | Ligne 70: | ||
| use_node_name yes | use_node_name yes | ||
| </ | </ | ||
| + | Vous pouvez remplacer // | ||
| - | Pour chacune | + | Pour chacune |
| - | Par exemple, pour la machine '' | + | Par exemple, pour la machine '' |
| < | < | ||
| Ligne 43: | Ligne 82: | ||
| </ | </ | ||
| - | Les informations graphées sont choisies | + | <note tip>Le paramètre **use_node_name yes** permet de prendre en compte la machine même si le nom entre crochets ne correspond pas au nom de la machine. Dans munin la machine sera toujours affichée avec le nom entre crochets. \\ |
| + | S'il n'est pas précisé, il est nécessaire de mettre la même chose que le retour de la commande //hostname -f// sur la machine en question, sinon la machine n' | ||
| - | Vous pouvez également etre averti par mail en cas de dépassement d'un seuil d' | + | Les informations récupérées par munin pour chaque machine dépendent de la configuration de munin-node que les machine distantes (plugins activés). |
| + | |||
| + | Pour être averti par courriel | ||
| < | < | ||
| - | contact.someuser.command mail -s " | + | contacts toto |
| - | </ | + | contact.toto.command mail -s " |
| + | contact.toto.always_send warning critical | ||
| + | </ | ||
| ou encore envoyer une alerte vers Nagios : | ou encore envoyer une alerte vers Nagios : | ||
| Ligne 55: | Ligne 99: | ||
| </ | </ | ||
| - | La périodicité des mises à jour des graphes est déterminée par le programme '' | + | La périodicité des mises à jour des graphes est déterminée par le programme '' |
| - | + | ||
| - | A l' | + | |
| - | + | ||
| - | Si besoin, changer aussi les droits sur les répertoires de munin : | + | |
| - | < | + | À l' |
| - | < | ||
| ==== Voir les graphes ==== | ==== Voir les graphes ==== | ||
| Il vous suffit d' | Il vous suffit d' | ||
| - | ===== Munin-node (le démon sur les noeuds) ===== | + | ==== Mise à jour des indicateurs des nœuds ==== |
| + | |||
| + | La mise à jour (télé-relevé) se fait par défaut toutes les 5 minutes, grâce à la cron ''/ | ||
| + | Pour déclencher une mise-à-jour manuelle supplémentaire : < | ||
| + | Et pour suivre ce qui se passe, le fichier journal est ''/ | ||
| + | |||
| + | ===== Munin-node (le démon sur les nœuds) ===== | ||
| Sur chaque machine que vous désirez surveiller, il vous faut installer le démon qui va répondre aux requêtes du grapheur. | Sur chaque machine que vous désirez surveiller, il vous faut installer le démon qui va répondre aux requêtes du grapheur. | ||
| ==== Installation ==== | ==== Installation ==== | ||
| - | + | Installez les paquets suivants : | |
| - | Installez le paquet **[[apt://munin-node|munin-node]]** | + | < |
| ==== Configuration ==== | ==== Configuration ==== | ||
| - | === Accès au noeud === | + | === Accès au nœud === |
| - | Pour que le grapheur accède aux informations du noeud, il faut ouvrir | + | Pour que le grapheur accède aux informations du nœud, il faut autoriser explicitement |
| Cette information est indiquée dans le fichier de configuration **/ | Cette information est indiquée dans le fichier de configuration **/ | ||
| - | + | < | |
| - | | + | |
| 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, | 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, | ||
| - | | + | < |
| === Configuration des plugins === | === Configuration des plugins === | ||
| Ligne 108: | 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 | + | 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 |
| munin-run postgres_bgwriter | munin-run postgres_bgwriter | ||
| le plugin sera alors lancé avec les variables nécessaires (nom utilisateur, | le plugin sera alors lancé avec les variables nécessaires (nom utilisateur, | ||
| + | === Prise en compte d'une configuration du nœud modifiée === | ||
| + | |||
| + | Une fois les modifications effectuées, | ||
| ==== plugins Apache ==== | ==== plugins Apache ==== | ||
| - | Les plugins Apache ont besoin de la bibliothèque **[[apt:// | + | Les plugins Apache ont besoin de la bibliothèque **[[apt>libwww-perl]]**. |
| - | Afin de récupérer les données statistique d' | + | Afin de récupérer les données statistique d' |
| - | Pour cela on vérifiera la présence des liens : | + | < |
| - | < | + | |
| - | / | + | |
| - | </ | + | |
| - | Si ceux-ci ne sont pas présents on l' | + | |
| - | < | + | |
| - | sudo a2enmod status | + | |
| - | </ | + | |
| - | + | ||
| - | Le fichier status.conf doit contenir, au minimum, les directives suivantes : | + | |
| - | < | + | |
| - | < | + | |
| - | + | ||
| - | < | + | |
| - | SetHandler server-status | + | |
| - | Order deny, | + | |
| - | Deny from all | + | |
| - | Allow from localhost ip6-localhost | + | |
| - | </ | + | |
| - | ExtendedStatus On | + | |
| - | + | ||
| - | </ | + | |
| - | </ | + | |
| ==== plugins Mysql==== | ==== plugins Mysql==== | ||
| - | Normalement les plugins mysql sont directement | + | Normalement les plugins mysql sont directement |
| Si ce n'est pas le cas, vous pouvez taper: | Si ce n'est pas le cas, vous pouvez taper: | ||
| - | Cela vous donnera une liste des mods en présicant | + | Cela vous donnera une liste des plugins |
| - | 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:: | == Erreur Missing dependency Cache:: | ||
| Vous pouvez résoudre cette erreur en installant le paquet: **[[apt> | Vous pouvez résoudre cette erreur en installant le paquet: **[[apt> | ||
| - | 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: < | Vous pouvez ensuite réactiver les plugins mysql: < | ||
| 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 | + | == Installer |
| + | < | ||
| Vous pouvez installer plusieurs autres plugins mysql pour suivre par exemple la valeur de max_connection, | Vous pouvez installer plusieurs autres plugins mysql pour suivre par exemple la valeur de max_connection, | ||
| - | 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: |
| < | < | ||
| et faites: | et faites: | ||
| < | < | ||
| - | 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 190: | 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 : |
| < | < | ||
| - | C'est donc sous la forme: ln -ls / | + | C'est donc sous la forme : |
| + | < | ||
| ==== Plugins Proftpd ==== | ==== Plugins Proftpd ==== | ||
| - | Les plugins Proftpd ont besoin de **[[apt://logtail|logtail]]**. D' | + | Les plugins Proftpd ont besoin de **[[apt>logtail]]**. D' |
| < | < | ||
| - | et repérez la balise TransferLog, | + | et repérez la balise TransferLog, |
| - | Regardez les permissions et propriétaires du fichier. Si le propriétaire est root et son groupe, root, peut être vaut-il mieux modifier son groupe. Je l'ai mis à adm. Et j'ai autorisé la lecture et l' | + | Regardez les permissions et propriétaires du fichier. Si le propriétaire est root et son groupe, root, peut être vaut-il mieux modifier son groupe. Je l'ai mis à adm. Et j'ai autorisé la lecture et l' |
| < | < | ||
| chmod ug+rw xferlog</ | chmod ug+rw xferlog</ | ||
| - | Ensuite, assurez vous que les plugins proftpd tournent bien dans le bon groupe. Pour ce faire éditez le fichier / | + | Ensuite, assurez vous que les plugins proftpd tournent bien dans le bon groupe. Pour ce faire, éditez le fichier / |
| < | < | ||
| Ligne 214: | Ligne 242: | ||
| < | < | ||
| + | |||
| + | ==== Plugin df ==== | ||
| + | |||
| + | Le plugin df, comme tous les plugins qui affichent l' | ||
| + | |||
| + | < | ||
| + | [df*] | ||
| + | user root | ||
| + | </ | ||
| + | |||
| + | Puis relancer le service : | ||
| + | |||
| + | < | ||
| + | sudo service munin-node restart | ||
| + | </ | ||
| + | |||
| + | Vous devriez alors voir toutes vos partitions sauf /home, c'est une nouveauté avec systemd. | ||
| + | |||
| + | Il vous faudra alors créer un fichier / | ||
| + | |||
| + | < | ||
| + | [Service] | ||
| + | ProtectHome=read-only | ||
| + | </ | ||
| + | |||
| + | Puis relancer systemctl : | ||
| + | |||
| + | < | ||
| + | sudo systemctl daemon-reload | ||
| + | </ | ||
| + | |||
| + | Puis relancer munin : | ||
| + | |||
| + | < | ||
| + | sudo service munin-node restart | ||
| + | </ | ||
| + | |||
| + | Vous devriez maintenant voir toutes vos partitions. | ||
| + | |||
| + | S'il en manque, vous pouvez les forcer en éditant de nouveau / | ||
| + | |||
| + | < | ||
| + | | ||
| + | </ | ||
| + | |||
| + | S'il y en a en trop, ça va ressembler à : | ||
| + | |||
| + | < | ||
| + | | ||
| + | </ | ||
| + | |||
| + | Ce qui chez moi donne : | ||
| + | |||
| + | < | ||
| + | [df*] | ||
| + | user root | ||
| + | env.warning 92 | ||
| + | env.critical 98 | ||
| + | # | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | |||
| + | Une fois ces modifications effectuées, | ||
| + | |||
| + | < | ||
| + | sudo service munin-node restart | ||
| + | </ | ||
| + | |||
| + | ==== Plugin sensors_ ==== | ||
| + | |||
| + | Ce plugin permet d' | ||
| + | |||
| + | Théoriquement, | ||
| + | < | ||
| + | [sensors_*] | ||
| + | env.ignore_temp3 | ||
| + | env.ignore_temp4 | ||
| + | env.ignore_temp5 | ||
| + | env.ignore_fan5 | ||
| + | </ | ||
| + | |||
| + | Mais ça ne fonctionne pas. | ||
| + | |||
| + | Le work-around, | ||
| + | |||
| + | Par exemple, si | ||
| + | |||
| + | < | ||
| + | sensors | ||
| + | </ | ||
| + | |||
| + | vous retourne : | ||
| + | |||
| + | < | ||
| + | it8620-isa-0a40 | ||
| + | Adapter: ISA adapter | ||
| + | in0: | ||
| + | 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: | ||
| + | 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: | ||
| + | temp2: | ||
| + | temp3: | ||
| + | temp4: | ||
| + | temp5: | ||
| + | temp6: | ||
| + | </ | ||
| + | |||
| + | Le nom du chip est it8620-isa-0a40 et grapher les fan et temp3 ne sert à rien. On va donc éditer le fichier / | ||
| + | |||
| + | < | ||
| + | sudo vim / | ||
| + | </ | ||
| + | |||
| + | afin qu'il ressemble à ça : | ||
| + | |||
| + | < | ||
| + | chip " | ||
| + | ignore temp3 | ||
| + | ignore fan1 | ||
| + | ignore fan2 | ||
| + | ignore fan3 | ||
| + | ignore fan4 | ||
| + | ignore fan5 | ||
| + | </ | ||
| + | |||
| + | 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 219: | Ligne 385: | ||
| Si au niveau de votre grapheur, une sonde ne génère //aucun// graphe, vérifiez que les access-list configurées dans / | Si au niveau de votre grapheur, une sonde ne génère //aucun// graphe, vérifiez que les access-list configurées dans / | ||
| - | Si certains graphes sont générés mais pas tous, vous avez probablement un plugin qui n'est pas fonctionnel. Connectez vous sur une machine pouvant accéder à la sonde (par exemple le grapheur). Sur cette machine, [[: | + | Si certains graphes sont générés mais pas tous, vous avez probablement un plugin qui n'est pas fonctionnel. Connectez vous sur une machine pouvant accéder à la sonde (par exemple le grapheur). Sur cette machine, [[: |
| < | < | ||
| Ligne 263: | Ligne 429: | ||
| ===== Liens ===== | ===== Liens ===== | ||
| - | * [[http://munin.projects.linpro.no/|Site officiel de Munin (EN)]] | + | * [[https://munin-monitoring.org//|Site officiel de Munin (EN)]] |
| * [[http:// | * [[http:// | ||
| - | * Exemple de Munin en action : [[http:// | + | * Exemple de Munin en action : [[http:// |
| + | *[[: | ||
| + | *[[: | ||
| + | *[[: | ||
| + | *[[:vROps]] VMware vRealize Operations | ||
| ---- | ---- | ||
| // | // | ||
