61
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

UNIN - JRES

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UNIN - JRES

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

http://reseau.ciril.fr!