UNIN - JRES
Transcript of UNIN - JRES
![Page 1: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/1.jpg)
http://reseau.ciril.fr!
MUNIN SUPERVISER SIMPLEMENT LA MACHINE À CAFÉ… ENFIN UNE RÉALITÉ !
Alexandre SIMON / Luc DIDRY!alexandre.simon (AT) univ-lorraine.fr / luc.didry (AT) univ-lorraine.fr!
![Page 2: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/2.jpg)
http://reseau.ciril.fr!
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 2
SUPERVISION “MUNIN” ENCORE UN OUTIL DISPONIBLE ?
![Page 3: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/3.jpg)
http://reseau.ciril.fr!
Contexte • Supervision / métrologie des réseaux et des services
• exercice obligatoire pour tout administrateur • nécessaire pour le suivi opérationnel et les résolutions
d’incidents • fait (devrait faire !) partie du processus d’industrialisation
de tout nouveau service
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 3
![Page 4: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/4.jpg)
http://reseau.ciril.fr!
Contexte • Nombreux outils et solutions disponibles
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 4
ping, mtr, wget, telnet…!snmpwalk… htop, lsof, free, cat…!
![Page 5: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/5.jpg)
http://reseau.ciril.fr!
Contexte • Nombreux outils et solutions disponibles
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 5
![Page 6: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/6.jpg)
http://reseau.ciril.fr!
Contexte • Le “grand écart” des administrateurs
• adaptation aux domaines d’applications
• adaptation aux niveaux de granularité
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 6
OpenLDAP MySQL Apache!CAS!…!
![Page 7: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/7.jpg)
http://reseau.ciril.fr!
Contexte • Une solution idéale, couvrant tous les domaines et
toutes les granularités ? • pas sûr… • certaines solutions peuvent s’en rapprocher mais au prix
d’une complexité et d’une maintenance élevées
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 7
![Page 8: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/8.jpg)
http://reseau.ciril.fr!
Contexte Solutions “tout de loin, rien de près”
versus “à chaque problème sa solution”
• Aborder les problèmes dans le “bon” sens • j’ai une solution è je peux donc voir… • rationalisation è tout doit entrer dans mon unique solution
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 8
![Page 9: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/9.jpg)
http://reseau.ciril.fr!
Contexte Solutions “tout de loin, rien de près”
versus “à chaque problème sa solution”
• Aborder les problèmes dans le “bon” sens • j’ai une solution è je peux donc voir… • rationalisation è tout doit entrer dans mon unique solution • quels sont mes besoins è quelle(s) solution(s) à déployer
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 9
![Page 10: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/10.jpg)
http://reseau.ciril.fr!
Contexte • L’administrateur doit se libérer de fausses contraintes
• « oui », il faut utiliser les meilleurs outils pour un problème • « non », il ne faut pas hésiter à multiplier les outils
• Dans l’arsenal les outils de surveillance, il y a Munin
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 10
![Page 11: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/11.jpg)
http://reseau.ciril.fr!
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 11
GÉNÉRALITÉS ET ARCHITECTURE DE MUNIN
![Page 12: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/12.jpg)
http://reseau.ciril.fr!
Munin at a glance
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 12
+ de 10 ans Renommage LRRD (Linpro RRD) è Munin (2004)
Écrit en Perl Peu de dépendance
Disponible sur toutes les “bonnes” distributions Linux, Hurd ou BSD
Collecte + graphe = catégorie “métrologie” Possibilités d’alertes “simples”
“Hugin & Munin”, les corbeaux messagers du dieu Odin Hugin = “pensée/esprit” Munin = “mémoire”
Installation et déploiement très simples Auto-adaptation aux possibilités du système apt-get install / rpm –Uhv / pkg install if(exists(Apache)) monitore_it();
![Page 13: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/13.jpg)
http://reseau.ciril.fr!
Interface graphique • Simplicité et sobriété…
• des pages HTML et des images générées statiquement (crond) ou dynamiquement (CGI)
• pas de gestion de compte utilisateur ou de droit d’accès
• … tout en conversant l’efficacité • utilisation des graphes depuis un portail externe • zoom dynamique sur les graphes (version > 2.0)
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 13
![Page 14: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/14.jpg)
http://reseau.ciril.fr!
Interface graphique
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 14
Page d’accueil
Les nœuds supervisés
Seuils en alerte
Groupes de nœuds
Catégories de supervision
Période d’affichage
Barre de navigation persistante
Données et graphes
![Page 15: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/15.jpg)
http://reseau.ciril.fr!
Interface graphique
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 15
Rappel du nom du nœud
Détails d’un nœud
Accès direct aux catégories de ce nœud
Catégories des graphes suivants
Période de 24h Période de 7j
![Page 16: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/16.jpg)
http://reseau.ciril.fr!
Interface graphique
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 16
Détails d’un graph aka. un plugin
Rappel du nom du nœud
Rappel du nom du plugin
Période de 24h Période de 7j
Période de 1m Période de 1y
Métriques supervisées Seuils d’alerte
Démo de l’interface disponible sur : http://demo.munin-monitoring.org/
![Page 17: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/17.jpg)
http://reseau.ciril.fr!
Serveur 1
Munin Node
Confi
g.
Architecture
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 17
Munin plugin
Confi
g.
script / exécutable
Munin plugin
Confi
g.
script / exécutable
• Munin node • sur les machines à superviser • serveur écoutant sur 4949/TCP • exécute des plugins à la demande du
maître
serveur4949/TCP
Exécution locale
![Page 18: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/18.jpg)
http://reseau.ciril.fr!
• Munin master • le “superviseur” • instance surveillant 1 ou plusieurs
nœuds • client se connectant sur le 4949/TCP des
nœuds, fait exécuter les plugins • archive la collecte et génère les graphes • publie les pages HTML et les graphes
Architecture
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 18
Serveur 3
Serveur 1
Munin Node
Confi
g.
Munin plugin
Confi
g.
script / exécutable
Munin plugin
Confi
g.
script / exécutable
serveur4949/TCP
Serveur 2
Munin Node
Confi
g.
Munin plugin
Confi
g.
script / exécutable
Munin plugin
Confi
g.
script / exécutable
serveur4949/TCP
Munin MasterCo
nfig.
HTML+Graphesserveurs 1 et 2
Bases RRDserveurs 1 et 2
Consultation WebHTTPInterrogation master-nodeMunin port 4949/TCP
Exécution locale
![Page 19: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/19.jpg)
http://reseau.ciril.fr!
Supervision autonome
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 19
• Activation des fonctions node et master sur le même nœud • le serveur se supervise lui-même • pas de dépendance avec l’extérieur
Serveur 1
Munin MasterHTML+Graphes
serveur 1Bases RRDserveur 1
Confi
g.
Munin Node
Confi
g.
serveur4949/TCP
Munin plugin
Confi
g.
script / exécutable
Munin plugin
Confi
g.
script / exécutable
![Page 20: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/20.jpg)
http://reseau.ciril.fr!
Modèles autonome et centralisé
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 20
Serveur 2
Munin Node
Confi
g.
serveur4949/TCP
Munin plugin
Confi
g.
script / exécutable
Munin plugin
Confi
g.
script / exécutable
Munin MasterHTML+Graphes
serveur 2Bases RRDserveur 2
Confi
g.
Serveur 1
Munin MasterHTML+Graphes
serveur 1Bases RRDserveur 1
Confi
g.
Munin Node
Confi
g.
serveur4949/TCP
Munin plugin
Confi
g.
script / exécutable
Munin plugin
Confi
g.
script / exécutable
Consultation WebHTTP
Interrogation master-nodeMunin port 4949/TCP
Exécution locale
Serveur 3
Munin Master
HTML+Graphesserveurs 1 et 2
Bases RRDserveurs 1 et 2
Confi
g.
![Page 21: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/21.jpg)
http://reseau.ciril.fr!
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 21
LES PLUGINS MUNIN AU CENTRE DU MONDE
![Page 22: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/22.jpg)
http://reseau.ciril.fr!
La force de Munin • Le système de plugins de Munin est
la force et l’originalité de cette solution
• « Plugins ? You talkin’ to me ? » • plugin = sonde dans Munin node récupérant les données
au plus près l’objet supervisé • exécutables écrits dans n’importe quel langage (bash, Perl,
Ruby, Python, PHP, Lisp, COBOL…) • les limites ? juste celles du système et du développeur ! 13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 22
![Page 23: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/23.jpg)
http://reseau.ciril.fr!
Un peu d’anatomie
• Le Master demande 2 choses au plugin (via le Node) : • les méta-données permettant au Master de savoir ce que
fait le plugin (métriques, seuils…) et comment générer les graphes
• les valeurs numériques de la métrique surveillée à chaque appel par le Master
è tout est dans le plugin 13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 23
Master è 4949/TCP è Node è Exécution plugin
![Page 24: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/24.jpg)
http://reseau.ciril.fr!
Un peu d’anatomie • Exemple : le plugin dns_query_time mesure le temps
de réponse à la question « IN NS . » à l’aide de la commande dig!
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 24
$ ./dns_query_time config # renseignements sur le plugin!graph_title DNS query time # titre du graphe!graph_vlabel time in ms # label de l’axe des Y!time.label query time # label de la métrique !!!$ ./dns_query_time # interrogation de la valeur!time.value 42 # la commande ”dig IN NS .”! # a répondu en 42 ms!
![Page 25: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/25.jpg)
http://reseau.ciril.fr!
Écriture du plugin dns_query_time
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 25
Le code de base
#!/bin/bash!!case $1 in! config)! cat <<EOF!graph_title DNS query time!graph_vlabel time in ms!time.label query time!EOF! exit 0;;!esac!!printf "time.value "!dig IN NS . | grep '^;; Query time:' | cut -d' ' -f4!
Prise en compte de l’argument d’appel config
Recherche de la métrique, mise en forme et affichage
![Page 26: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/26.jpg)
http://reseau.ciril.fr!
Écriture du plugin dns_query_time
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 26
Activation du plugin
$ cd /etc/munin/plugins!!$ ln -svf /home/yoda/dns_query_time . # installation!./dns_query_time -> /home/yoda/dns_query_time!!$ munin-run dns_query_time config # vérification config!graph_title DNS query time # munin-run permet!graph_vlabel time in ms # l’exécution du plugin!time.label query time # comme dans le node!!$ munin-run dns_query_time # vérification collecte!time.value 6!!$ /etc/init.d/munin-node restart # redémarrage node!
![Page 27: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/27.jpg)
http://reseau.ciril.fr!
Écriture du plugin dns_query_time
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 27
Protocole de communication / Vérification “à la telnet”
$ telnet localhost 4949!Trying 127.0.0.1...!Connected to localhost!Escape character is '^]'.!# munin node at localhost!list # liste des plugins activés!cpu if_eth0 load memory dns_query_time!config dns_query_time # vérification config!graph_title DNS query time!graph_vlabel time in ms!time.label query time!.!fetch dns_query_time # interrogation des données!time.value 6!.!!!!
![Page 28: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/28.jpg)
http://reseau.ciril.fr!
Écriture du plugin dns_query_time
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 28
Activation du plugin
Catégorie du plugin “other”
$ ./dns_query_time config!graph_title DNS query time!graph_vlabel time in ms!time.label query time!!
![Page 29: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/29.jpg)
http://reseau.ciril.fr!
Écriture du plugin dns_query_time
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 29
Quelques ajustements sur la forme
[...]!case $1 in! config)! cat <<EOF!graph_title DNS query time!graph_vlabel time in ms!graph_category network!time.label query time!time.colour FF0000!time.warning 5!time.critical 10!EOF! exit 0;;!esac![...]!
![Page 30: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/30.jpg)
http://reseau.ciril.fr!
Écriture du plugin dns_query_time
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 30
Quelques ajustements sur la forme
Nouvelle catégorie du plugin “network”
Nouvelle couleur rouge
Etat “warning” du plugin (couleur jaune)
Ajustements possibles : • couleurs, tailles, type lignes, titre, label, légende… • arguments commande rrdcreate • arguments commande rrdgraph • type de datasource RRD, seuils… http://munin-monitoring.org/wiki/protocol-config
![Page 31: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/31.jpg)
http://reseau.ciril.fr!
• Idée : rendre le plugin réutilisable et paramétrable en fonction de son “installation” (ln -svf ...) • dns_query_time devrait être capable d’interroger un
serveur DNS spécifique : dig IN NS . @serveur-dns!
Écriture du plugin dns_query_time
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 31
Quelques ajustements de fond : plugin paramétrable
![Page 32: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/32.jpg)
http://reseau.ciril.fr!
Écriture du plugin dns_query_time
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 32
Quelques ajustements de fond : plugin paramétrable
[...]!DNS_SERVER=${0##*/dns_query_time_} # extraction dns_query_time_(.+)!!case $1 in! config)! cat <<EOF![...]!graph_title DNS query time via ${DNS_SERVER}![...]!EOF!!printf "time.value "!dig IN NS . @${DNS_SERVER} | grep '^;; Query time:' | cut -d' ' –f4!
![Page 33: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/33.jpg)
http://reseau.ciril.fr!
Écriture du plugin dns_query_time
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 33
Activation du plugin paramétrable
$ cd /etc/munin/plugins!!$ ln -svf /home/yoda/dns_query_time dns_query_time_8.8.8.8!./dns_query_time_8.8.8.8 -> /home/yoda/dns_query_time!!$ ln -svf /home/yoda/dns_query_time dns_query_time_mon-dns.example.com!./dns_query_time_mon-dns.example.com -> /home/yoda/dns_query_time!!$ /etc/init.d/munin-node restart # redémarrage node!
![Page 34: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/34.jpg)
http://reseau.ciril.fr!
• Idée : mettre les spécificités du plugin dans un fichier de configuration • le chemin de la commande dig devrait être configurable • le type d’interrogation DNS devrait être configurable
Écriture du plugin dns_query_time
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 34
Quelques ajustements de fond : plugin configurable
![Page 35: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/35.jpg)
http://reseau.ciril.fr!
Écriture du plugin dns_query_time
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 35
Quelques ajustements de fond : plugin configurable
[...]!DNS_SERVER=${0##*/dns_query_time_}!!case $1 in! config)! cat <<EOF![...]!graph_title DNS query time via ${DNS_SERVER}![...]!EOF!!printf "time.value »!dig IN NS . @${DNS_SERVER} | \!grep '^;; Query time:' | cut -d' ' –f4!
$ cat /etc/munin/plugin-conf.d/dns_query_time![dns_query_time*]!env.DIG_PATH /usr/bin/dig!env.DNS_QUERY IN A www.example.com!
![Page 36: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/36.jpg)
http://reseau.ciril.fr!
Écriture du plugin dns_query_time
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 36
Quelques ajustements de fond : plugin configurable
[...]!DNS_SERVER=${0##*/dns_query_time_}!!case $1 in! config)! cat <<EOF![...]!graph_title DNS query (${DNS_QUERY}) time via ${DNS_SERVER}![...]!EOF!!printf "time.value "!dig IN NS . ${DIG_PATH} ${DNS_QUERY} @${DNS_SERVER} | \!grep '^;; Query time:' | cut -d' ' –f4!
$ cat /etc/munin/plugin-conf.d/dns_query_time![dns_query_time*]!env.DIG_PATH /usr/bin/dig!env.DNS_QUERY IN A www.example.com!
![Page 37: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/37.jpg)
http://reseau.ciril.fr!
Écriture du plugin dns_query_time
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 37
Quelques ajustements de fond : plugin configurable $ cat /etc/munin/plugin-conf.d/dns_query_time![dns_query_time*]!env.DIG_PATH /usr/bin/dig!env.DNS_QUERY IN A www.example.com!![dns_query_time_8.8.8.8]!env.DNS_QUERY IN A www.google.fr!![dns_query_time_mon-dns.example.com]!env.DNS_QUERY IN MX example.com!
Chaque “installation” du plugin peut avoir sa propre configuration
![Page 38: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/38.jpg)
http://reseau.ciril.fr!
Complétude du plugin • dns_query_time
• un exemple progressif d’écriture de plugin Munin • écriture en moins de 5mn du premier plugin “utile” • simple ? efficace ? des limites ? … à vous de jouer !
• Études complémentaires • configuration du master pour la déclaration des nodes • plugins “multigraph” • supersampling et collecte master/node asynchrone • bibliothèques (bash, Perl, Python) pour l’écriture de plugins 13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 38
![Page 39: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/39.jpg)
http://reseau.ciril.fr!
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 39
CAS D’USAGE
![Page 40: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/40.jpg)
http://reseau.ciril.fr!
Munin tout simplement • Bibliothèque de plugins de Munin
• les standards “livrés” à l’installation • les contributions disponibles depuis divers dépôts
è en standard 80% des besoins sont couverts
• Pour les 20% restant… il suffit d’écrire ses propres plugins ou d’en adapter
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 40
![Page 41: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/41.jpg)
http://reseau.ciril.fr!
Plugin “iprocess” • Problématique
• identifier sur un serveur multi-services (annuaire, authentification centrale, messagerie…) l’utilisation des ressources (CPU, mémoire, processus/activités, fichiers) par service avec un niveau de détail par processus
• afficher les ressources consommées : ¡ par service : « globalement, qu’est-ce que consomme mon
service de messagerie ? » ¡ par processus : « dans mon service de messagerie, qu’est-ce
que consomme le processus dovecot ? » 13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 41
![Page 42: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/42.jpg)
http://reseau.ciril.fr!
Plugin “iprocess”
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 42
Service de filtrage web avec base de catégorisation (SQUID + OLFEO)
$ cat /etc/munin/plugin-conf.d/iprocess!![iprocess_iwash_*]!env.processes syslog squid keepalived apache redis!env.psregexp_syslog --cfgfile=/home/iwash/etc/syslog.conf!env.psregexp_squid -f /home/iwash/etc/squid/squid.conf!env.psregexp_keepalived /home/iwash/etc/keepalived.conf!env.psregexp_apache -f /home/iwash/etc/apache/httpd.conf!env.psregexp_... ...!![iprocess_olfeo_*]!env.processes filtering logd mysqld rsyncd webadmin!env.psregexp_filtering /opt/olfeo5/bin/filtering!env.psregexp_logd /opt/olfeo5/bin/logd!env.psregexp_... ...!
Service Processus composant le service
Motifs pour recherche des processus sur le système ps … | grep motif!
![Page 43: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/43.jpg)
http://reseau.ciril.fr!
Plugin “iprocess”
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 43
$ cd /etc/munin/plugins ; ls -l!iprocess_iwash_fds -> ../plugins-available/site/iprocess_!iprocess_iwash_memory -> ../plugins-available/site/iprocess_!iprocess_iwash_percentcpu -> ../plugins-available/site/iprocess_!iprocess_iwash_processes -> ../plugins-available/site/iprocess_!iprocess_iwash_threads -> ../plugins-available/site/iprocess_!iprocess_olfeo_fds -> ../plugins-available/site/iprocess_!iprocess_olfeo_memory -> ../plugins-available/site/iprocess_!iprocess_olfeo_percentcpu -> ../plugins-available/site/iprocess_!iprocess_olfeo_processes -> ../plugins-available/site/iprocess_!iprocess_olfeo_threads -> ../plugins-available/site/iprocess_!
Service de filtrage web avec base de catégorisation (SQUID + OLFEO)
![Page 44: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/44.jpg)
http://reseau.ciril.fr!
Plugin “iprocess” • Fonctionnement du plugin
• collecte système (ps, lsof, cat /proc…) ¡ selon l’installation dans /etc/munin/plugins ¡ pour tous les processus du fichier de configuration
• utilisation des fonctions multigraph de Munin pour : ¡ présenter une synthèse des métriques par service ¡ présenter le détail de chaque métrique pour chaque processus
è développement “maison”
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 44
![Page 45: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/45.jpg)
http://reseau.ciril.fr!
Plugin “iprocess”
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 45
Synthèse par service
Cumul des occupations mémoires de chaque processus
composant le service
filtering
logd
mysqld
raw2db
...
Détails par processus
Un graphe mémoire par processus
Processus utilisant le plus de ressources
![Page 46: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/46.jpg)
http://reseau.ciril.fr!
Plugin “yacap_chronos” • Problématique
• avoir un suivi de performance (temps de réponse) des systèmes d’informations (serveurs CAS, LDAP, AD) utilisés par le portail captif mutualisé au niveau lorrain (YaCaP)
• utilisation des fonctions multigraph de Munin pour : ¡ présenter un graphe de synthèse de tous les SI et des temps de
réponses correspondants ¡ présenter le détail des temps de réponse de chaque SI
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 46
![Page 47: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/47.jpg)
http://reseau.ciril.fr!
Plugin “yacap_chronos” • Fonctionnement du plugin
• modification du code du portail captif pour l’ajout de “points de chronométrage”
• mesure du temps d’authentification / autorisation et génération de traces dans un fichier
• écriture du plugin yacap_chronos utilisant les données du fichier de trace
è développement “maison” 13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 47
![Page 48: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/48.jpg)
http://reseau.ciril.fr!
Plugin “yacap_chronos”
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 48
Authentifications CAS
Authentifications LDAP
Autorisations LDAP
Hausse des temps de réponse… à vérifier !
![Page 49: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/49.jpg)
http://reseau.ciril.fr!
Plugin “yacap_chronos”
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 49
Détails des authentifications / autorisations CAS et LDAP depuis le SI de l’Université de Lorraine
![Page 50: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/50.jpg)
http://reseau.ciril.fr!
Plugin “df ” / Store Zimbra • Problématique
• avoir une visibilité de l’occupation sur disque de la messagerie de l’Université de Lorraine ¡ visibilité globale ¡ par population (étudiants / personnels) ¡ par serveur de stockage
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 50
![Page 51: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/51.jpg)
http://reseau.ciril.fr!
Plugin “df ” / Store Zimbra • Fonctionnement du plugin
• rien de particulier ! • utilisation du plugin df sur chaque serveur de stockage • configuration du Master pour l’aggrégation des données
¡ par population ¡ globalement
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 51
![Page 52: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/52.jpg)
http://reseau.ciril.fr!
Plugin “df ” / Store Zimbra
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 52
Détails par serveur Aggrégation par population étudiants / personnels Aggrégation globale
aggrégation étudiants
aggrégation personnels
aggrégation globale
![Page 53: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/53.jpg)
http://reseau.ciril.fr!
Plugin “coffee” • Problématique
• superviser le niveau de café de la cafetière de l’équipe
• recevoir une alerte quand il ne reste que 20% disponible afin que l’ingénieur d’astreinte en refasse
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 53
![Page 54: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/54.jpg)
http://reseau.ciril.fr!
Plugin “coffee” • Fonctionnement du plugin
• webcam prenant une photo • QR Code attestant de la présence du bol • analyse par le plugin des couleurs d’une zone de l’image
(noir = café, blanc = vide) pour déterminer le niveau dans le bol
è pas seulement une blague… une “preuve du concept” ! è développement “maison” (~ 100 lignes de code !) https://github.com/ldidry/munin-coffee 13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 54
![Page 55: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/55.jpg)
http://reseau.ciril.fr!
Plugin “coffee”
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 55
Impossible d'afficher l'image. Votre ordinateur manque peut-être de mémoire pour ouvrir l'image ou l'image est endommagée. Redémarrez l'ordinateur, puis ouvrez à nouveau le fichier. Si le x rouge est toujours affiché, vous devrez peut-être supprimer l'image avant de la réinsérer.
Impossible d'afficher l'image. Votre ordinateur manque peut-être de mémoire pour ouvrir l'image ou l'image est endommagée. Redémarrez l'ordinateur, puis ouvrez à nouveau le fichier. Si le x rouge est toujours affiché, vous devrez peut-être supprimer l'image avant de la réinsérer.
Impossible d'afficher l'image. Votre ordinateur manque peut-être de mémoire pour ouvrir l'image ou l'image est endommagée. Redémarrez l'ordinateur, puis ouvrez à nouveau le fichier. Si le x rouge est toujours affiché, vous devrez peut-être supprimer l'image avant de la réinsérer.
![Page 56: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/56.jpg)
http://reseau.ciril.fr!
… et tous les autres plugins • iproute2_ss
• utilisation des ressources réseaux (socket tcp/udp/unix/…) • traffic_ipt
• bande passante utilisée par des services applicatifs en IPv4 et IPv6
• …
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 56
Impossible d'afficher l'image. Votre ordinateur manque peut-être de mémoire pour ouvrir l'image ou l'image est endommagée. Redémarrez l'ordinateur, puis ouvrez à nouveau le fichier. Si le x rouge est toujours affiché, vous devrez peut-être supprimer l'image avant de la réinsérer.
![Page 57: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/57.jpg)
http://reseau.ciril.fr!
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 57
CONCLUSION
![Page 58: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/58.jpg)
http://reseau.ciril.fr!
What else ? • Faut-il brûler son Nagios ?
• Non ! Installer Munin en complément est toujours un plus
• Faut-il se limiter aux possibilités des plateformes classiques ? • Non ! Selon la bonne pratique « quels sont mes besoins è recherche de solutions », Munin pourra toujours grapher les métriques les plus exotiques en quelques lignes de code
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 58
![Page 59: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/59.jpg)
http://reseau.ciril.fr!
Expérience de l’Équipe réseau Lothaire • Utilisation de Munin en complément de 3
autres plateformes de supervision/métrologie • Positionnement de l’outil
• utilisé pour le suivi de métriques précises ou lors de pré-productions
• utilisé en “2ème rideau” pour l’analyse de problèmes remontés par les plateformes moins fines
• 12 plugins “maisons” à ce jour… mais tellement d’autres à écrire
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 59
![Page 60: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/60.jpg)
http://reseau.ciril.fr!
Contributeurs
13/12/2013 JRES2013 / Montpellier - Munin : Superviser simplement la machine à café... enfin une réalité ! 60
Luc DIDRY Co-auteur Geek certifié
Vous !
![Page 61: UNIN - JRES](https://reader034.fdocument.pub/reader034/viewer/2022051323/627b98a3b182e12098535865/html5/thumbnails/61.jpg)
http://reseau.ciril.fr!