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 Management → Vues 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.
- Menu → Stack Management → Vues de données (Data Views).
- Cliquez sur Créer une vue de données (Create data view).
- Nom :
news. Motif de nom d'index (Index pattern) :news. Kibana confirme « ✓ Votre motif d'index correspond à 1 source ». - Champ d'horodatage (Timestamp field) : sélectionnez
date. - Enregistrez. La vue est maintenant listée.
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-01 → 2018-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 → Analytics → Discover. 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 → Analytics → Visualize Library → Cré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 → Analytics → Tableaux de bord (Dashboards) → Créer un tableau de bord (Create dashboard).
- Bouton Ajouter depuis la bibliothèque (Add from library) → cochez les quatre visualisations créées ci-dessus.
- Réorganisez : métrique en haut à gauche, camembert à droite, barres et courbe en-dessous.
- Ajoutez un contrôle (Controls) pour filtrer par catégorie : bouton Contrôles en haut → Ajouter un contrôle → champ
category→ Liste des options (Options list). Un menu déroulant apparaît, les quatre panneaux se filtrent en direct. - 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 »).
- Enregistrer → titre
Veille — vue d'ensemble.
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 Management → Objets 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/_searchpeut ê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 Library → Créer → Lens → 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
Veillepar 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 Management → Objets enregistrés → filtrer
Type = Dashboard→ cocherVeille — vue d'ensemble→ Exporter (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 Analytics → Tableaux de bord :
Veille — vue d'ensembleest présent, les quatre panneaux affichent les mêmes chiffres qu'avant. Le format.ndjsontransporte aussi la vue de donnéesnewssi 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/noten 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
Veillecombine ces quatre panneaux et un contrôle parcategory. - Export/import en
.ndjsonavec objets associés : la manière propre de partager un dashboard. - Dev Tools :
Ctrl+Entréeexécute,Ctrl+Ireformate, 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
setupn'a pas défini le mot de passe dekibana_system; relancez avec./lab.sh down && ./lab.sh upet suivez./lab.sh logs setup. - La vue de données
newsn'apparaît pas dans Lens → vous êtes probablement dans un autre espace (Space) Kibana ; menu Espaces → revenez surDefaultou 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.