Aller au contenu principal

Module 7 — Kibana : Data View, Discover, KQL, Lens et tableaux de bord

Les cinq modules précédents se sont passés dans une console. Léa n'ouvrira pas Dev Tools quand un client de Veille lui demande la répartition des articles par mois : elle veut cliquer, filtrer, comparer, exporter. Kibana est cet atelier visuel monté au-dessus de l'index news, et l'interface du kit est en français (I18N_LOCALE=fr-FR) ; les libellés cités dans ce module sont donc ceux que vous verrez à l'écran, avec la version anglaise entre parenthèses à la première mention.

Ouvrir Kibana et se repérer

Après ./lab.sh up, l'URL est http://localhost:5601. Connectez-vous avec elastic / veille2026. Le menu latéral (icône hamburger en haut à gauche) donne les grandes familles :

  • Analytics (Analytics) → Discover, Dashboards (Tableaux de bord), Visualize Library (Bibliothèque de visualisations).
  • Developer tools (Outils de développement) → Console, alias Dev Tools, celle du module 5.
  • Management (Gestion) → Stack ManagementVues de données (Data Views).

Le raccourci clavier Ctrl+/ ouvre la palette de commandes et sert de moteur de navigation universel.

Créer la vue de données news

Une vue de données (Data View) dit à Kibana quel index utiliser et quel champ représente le temps. Sans elle, Discover ne trouve rien.

  1. Menu → Stack ManagementVues de données (Data Views).
  2. Cliquez sur Créer une vue de données (Create data view).
  3. Nom : news. Motif de nom d'index (Index pattern) : news. Kibana confirme « ✓ Votre motif d'index correspond à 1 source ».
  4. Champ d'horodatage (Timestamp field) : sélectionnez date.
  5. Enregistrez. La vue est maintenant listée.
Piège numéro 1 : « aucun résultat » dans Discover

Kibana règle par défaut la plage de dates sur les quinze dernières minutes. Le corpus News va du 2012-01-28 au 2018-05-26 : aucune donnée récente, donc Discover affiche « Aucun résultat » et tout le monde croit à un bug. La bonne réponse est de régler la plage en absolue sur 2012-01-012018-06-01 avant toute chose (voir plus bas). Faites-le une seule fois, sauvegardez la recherche, et vous ne retomberez plus dans le piège.

Discover : parcourir, filtrer, exporter

Menu → AnalyticsDiscover. En haut à droite, cliquez sur le sélecteur de temps (par défaut « ~ 15 dernières minutes »), onglet Absolu, saisissez :

  • De : 2012-01-01 00:00:00
  • À : 2018-06-01 00:00:00
  • Actualiser (Refresh).

L'histogramme réapparaît, avec sept années de barres, et la liste des documents s'affiche en-dessous. À gauche, la colonne Champs disponibles (Available fields) permet de glisser headline, category, date, authors dans le tableau central.

KQL, le langage de la barre de recherche

La barre du haut accepte du KQL (Kibana Query Language). Trois exemples que Léa utilise tous les jours :

category : "POLITICS" and headline : trump
headline : "climate change" and date >= "2016-01-01"
authors : "Lee Moran" and category : COMEDY

Deux règles suffisent : les valeurs avec espaces ou majuscules exactes s'entourent de guillemets ; and, or, not sont écrits en minuscules. À côté de la barre, chaque pilule verte est un filtre cliquable qu'on peut éditer, activer/désactiver, épingler pour qu'il reste au changement d'onglet.

Enregistrer et exporter

Bouton Enregistrer (Save) en haut → Nom : Recherche Veille — climat 2016+. Cette recherche sauvegardée peut être rappelée ailleurs (Lens, Dashboards). Le bouton Partager (Share) exporte les résultats en CSV pour un client, ou copie une URL courte incluant tous les filtres actifs.

Lens : quatre visualisations sans code

Menu → AnalyticsVisualize LibraryCréer une visualisation (Create visualization) → Lens. Sélectionnez la vue news. L'interface : à gauche la liste des champs, au centre la zone de visualisation, à droite les paramètres. On glisse-dépose et Kibana propose le meilleur type.

Le tableau de bord « Veille » de Léa contient exactement quatre panneaux, à construire dans l'ordre puis à sauvegarder.

1. Métrique — Nombre total d'articles

  • Type suggéré : Métrique (Metric).
  • Glissez le champ Records (compte natif) sur la zone.
  • Vérifiez l'agrégation : Count of records.
  • Résultat : 200 853.
  • Enregistrer et retourner (Save and return) → titre Total articles.

2. Barres verticales — Top 10 des catégories

  • Type suggéré : Barres verticales (Vertical bar).
  • Axe horizontal : glissez category, agrégation Termes principaux (Top values), taille 10, trié par nombre d'enregistrements décroissant.
  • Axe vertical : Count of records.
  • Résultat : POLITICS 32 739 en tête, puis WELLNESS 17 827, ENTERTAINMENT 16 058, TRAVEL 9 887, STYLE & BEAUTY 9 649.
  • Titre : Top 10 catégories.

3. Courbe — Nombre d'articles par mois

  • Type suggéré : Ligne (Line).
  • Axe horizontal : glissez date, agrégation Date histogramme (Date histogram), intervalle Mois (Month).
  • Axe vertical : Count of records.
  • Titre : Volume mensuel 2012-2018.

4. Camembert — Répartition des cinq premières catégories

  • Type suggéré : Camembert (Pie).
  • Découper par : category, Top values, taille 5.
  • Métrique : Count of records.
  • Titre : Part des 5 catégories dominantes.

Le tableau de bord « Veille »

Menu → AnalyticsTableaux de bord (Dashboards) → Créer un tableau de bord (Create dashboard).

  1. Bouton Ajouter depuis la bibliothèque (Add from library) → cochez les quatre visualisations créées ci-dessus.
  2. Réorganisez : métrique en haut à gauche, camembert à droite, barres et courbe en-dessous.
  3. Ajoutez un contrôle (Controls) pour filtrer par catégorie : bouton Contrôles en haut → Ajouter un contrôle → champ categoryListe des options (Options list). Un menu déroulant apparaît, les quatre panneaux se filtrent en direct.
  4. Réglez la plage temporelle absolue 2012-01-01 → 2018-06-01 et sauvegardez comme préréglage (checkbox « Enregistrer avec l'intervalle de temps »).
  5. Enregistrer → titre Veille — vue d'ensemble.
Filtres pilotés par URL

L'onglet Partager propose un lien court qui contient l'état du dashboard (filtres, plage, panneaux masqués). Karim l'intègre dans l'espace client sans dupliquer le tableau.

Exporter et importer des objets sauvegardés

Un tableau de bord peut voyager entre installations grâce au format .ndjson (une ligne JSON par objet).

  • Menu → Stack ManagementObjets enregistrés (Saved Objects).
  • Filtrez sur Type = Dashboard, cochez Veille — vue d'ensemble.
  • Exporter → cochez « Inclure les objets associés » (visualisations, vue de données) → téléchargez export.ndjson.
  • Sur une autre installation, revenez au même écran → Importer → glissez le fichier. Option « Vérifier les conflits » pour renommer les doublons.

Ce mécanisme est ce qui permet à Léa de livrer un dashboard à un client sans le forcer à tout recliquer.

Dev Tools : les raccourcis qui font gagner du temps

Menu → Outils de développement (Dev Tools) → onglet Console.

  • Auto-complétion contextuelle : commencez par GET n, la liste des index apparaît.
  • Ctrl+Entrée exécute la requête sous le curseur.
  • Ctrl+I reformate le JSON de la requête.
  • Historique (icône horloge en haut à droite) rejoue une commande passée.
  • Sélection multiple : on peut exécuter plusieurs requêtes en cliquant sur les triangles verts individuels.
  • La ligne GET news/_search peut être précédée de commentaires // — pratique pour documenter une session.

À vous 1 — Filtrer Discover sur les articles de Reuters en 2017

Créez le filtre en KQL, restreignez la période, ne conservez que les colonnes date, headline, category. Combien de résultats ?

Solution

Barre KQL :

authors : "Reuters" and date >= "2017-01-01" and date < "2018-01-01"

Sélecteur de temps : plage Absolu 2017-01-01 → 2018-01-01. Colonnes : cliquez sur + à côté de date, headline, category dans la liste des champs. Le compteur en haut à gauche indique le total sur ce sous-ensemble (votre chiffre peut différer légèrement mais reste très inférieur aux 4 954 de Reuters sur l'ensemble du corpus).

À vous 2 — Construire une visualisation « Auteurs les plus actifs en 2018 »

Type barres horizontales, top 10 des authors.raw, période 2018 uniquement.

Solution
  • Menu → Visualize LibraryCréerLens → vue news.
  • Sélecteur de temps : Absolu 2018-01-01 → 2018-06-01.
  • Type : Barres horizontales.
  • Axe vertical (catégories) : authors.raw, Top values, taille 10.
  • Axe horizontal (valeurs) : Count of records.
  • Titre : Auteurs les plus actifs (2018).
  • Enregistrez dans la bibliothèque, ajoutez-la ensuite au tableau de bord Veille par Ajouter depuis la bibliothèque.

À vous 3 — Exporter puis réimporter le tableau de bord

Sauvegardez Veille — vue d'ensemble en .ndjson, supprimez le tableau de bord, réimportez le fichier, vérifiez que les quatre panneaux réapparaissent.

Solution
  • Stack ManagementObjets enregistrés → filtrer Type = Dashboard → cocher Veille — vue d'ensembleExporter (avec objets associés).
  • Toujours dans la même liste, supprimez le dashboard (les visualisations restent).
  • Importer → glissez export.ndjson → choisissez « Créer un nouvel objet avec un nouvel identifiant » si un conflit remonte.
  • Retournez sur AnalyticsTableaux de bord : Veille — vue d'ensemble est présent, les quatre panneaux affichent les mêmes chiffres qu'avant. Le format .ndjson transporte aussi la vue de données news si vous cochez « Inclure les objets associés ».

Points à retenir

  • Une vue de données pointe l'index et le champ temporel : sans elle, pas de Discover ni de Lens.
  • Piège numéro 1 : régler la plage de temps en absolu sur 2012-01-01 → 2018-06-01, sinon Discover affiche « aucun résultat ».
  • KQL : champ : valeur, and/or/not en minuscules, guillemets autour des valeurs avec espaces.
  • Lens fait quatre types de graphiques en glisser-déposer : métrique, barres, ligne, camembert.
  • Le tableau de bord Veille combine ces quatre panneaux et un contrôle par category.
  • Export/import en .ndjson avec objets associés : la manière propre de partager un dashboard.
  • Dev Tools : Ctrl+Entrée exécute, Ctrl+I reformate, l'historique rejoue.

Si ça ne marche pas

  • « Aucun résultat » dans Discover → la plage de temps par défaut est trop courte, passez en absolu 2012-01-01 → 2018-06-01.
  • « Kibana server is not ready yet » → le service setup n'a pas défini le mot de passe de kibana_system ; relancez avec ./lab.sh down && ./lab.sh up et suivez ./lab.sh logs setup.
  • La vue de données news n'apparaît pas dans Lens → vous êtes probablement dans un autre espace (Space) Kibana ; menu Espaces → revenez sur Default ou recréez la vue dans l'espace courant.
  • Une visualisation Lens reste vide sur les données de 2012 → le sélecteur de temps du dashboard écrase celui du panneau ; cochez « Utiliser le temps global » ou fixez la plage sur le panneau.

Pour aller plus loin