Les midis de la bidouille (de la donnée à sa visualisation)

Inria Bordeaux Sud-ouest

herve.mathieu@inria.fr

Sommaire


Présentation des technologies

ELK stack E — Elasticsearch, L — Logstash, K — Kibana

ELK


Serveurs mis en place

Installation sur réseau Inria

https://kibana.bordeaux.inria.fr/

https://elasticsearch.bordeaux.inria.fr/

Aucun système d’authentification n’est mis en place, donc l’ensemble des données est accessible (en lecture et en écriture) par toute personne accédant aux serveurs.

Règle d’usage : afin d’éviter tout écrasement accidentel de données et permette aux administrateurs de tracer l’usage des serveurs, il est demandé aux utilisateurs de préfixer leur index (ElasticSearch indices) par nom_de_l_equipe:sujet_de_l_etude (et éventuellement des sous-objet séparés par : ).

Cas particulier pour les midis de la bidouille : mdb:nom_de_famille


Possibilité d’une installation en local sur sa machine

Elasticsearch

  1. https://www.elastic.co/downloads/elasticsearch : download elasticsearch-6.6.1.tar.gz (voir version actuelle)
  2. gunzip elasticsearch-6.6.1.tar.gz
  3. cd elasticsearch-6.6.1; ./bin/elasticsearch
  4. in your favorite web browser: http://localhost:9200/

Kibana

  1. https://www.elastic.co/downloads/kibana : download kibana-6.6.1.tar.gz (voir version actuelle)
  2. gunzip kibana-6.6.1.tar.gz
  3. cd kibana-6.6.1; ./bin/kibana
  4. in your favorite web browser: http://localhost:5601/ launches the Kibana interface

Exemples

Typologie des exemples :

  1. des données sous forme : csv, json, texte
  2. un programme en python pour peupler la base Elasticsearch
  3. des propositions de visualisations sur Kibana

exemples :


A vous de jouer


Récupération des exemples

meteo_mdb (contexte)

Des données météorologiques accessibles :

https://www.infoclimat.fr/api-previsions-meteo.html?id=07510&cntry=STA

Pour visualiser le json :

python -m json.tool meteo.json

Proposition d’environnement de travail virtuel dans un terminal :

Pour les paquets python requis : * pip install elasticsearch * pip install requests

si problème IPV4/IPV6 :

$ sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
$ sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1

Code à compléter (meteo.py)

es_index unique

es_index = ‘mdb:mon_nom’

mapping_input

mapping : https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html

Les possibilités : text, keyword, date, long, double, boolean, ip

cas particulier des dates : https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html#built-in-date-formats

Choisir les champs que vous souhaitez afficher

Tester la lecture du JSON avant d’envoyer les données sur Elasticsearch


Kibana

Une fois les données envoyées avec succès

Aller sur kibana.bordeaux.inria.fr

index Kibana

Management -> Kibana -> Index Patterns -> Create index pattern

step 1/2 : index pattern : mettre le nom de son index

step 2/2 : option (date)

Visualisation

plus(+) -> Line -> mon index

Y-axis -> Max -> pression

X-axis -> Date Histogram -> date -> Hourly

En haut à droite : penser à changer le fenêtre temporelle -> Last 7 days


Pour aller plus loin

Sources (liens)