1. Discover #
La recherche au quotidien.
Prise en main #
- Choisir la data view et la plage de temps (en haut à droite).
- Ajouter des colonnes depuis la liste des champs ; cliquer sur un champ affiche ses 5 valeurs les plus fréquentes.
- Ajouter des filtres en un clic (+/-) depuis un document.
- Enregistrer la recherche pour la réutiliser dans un dashboard ou la partager.
2. KQL et Lucene #
Filtrer les documents.
KQL #
service.name : "checkout" and http.response.status_code >= 500
message : "timeout" and not host.name : web-0*
log.level : (error or critical)
user_agent.original : *bot*
http.request.method : POST and url.path : "/api/panier"| Besoin | KQL | Lucene |
|---|---|---|
| Égalité | status : 500 | status:500 |
| Intervalle | bytes >= 1000 | bytes:[1000 TO *] |
| Joker | host : web-* | host:web-* |
| Expression régulière | Non | host:/web-[0-9]+/ |
| Proximité, flou | Non | message:"erreur base"~3, timout~ |
Bonne Pratique : KQL suffit dans 90 % des cas et propose l'autocomplétion des champs. Basculez en Lucene seulement pour les expressions régulières ou la recherche floue.
3. ES|QL #
Un langage par étapes.
Principe #
ES|QL (Elasticsearch Query Language) enchaîne des commandes séparées par | : on part d'une source, on filtre, on calcule, on agrège, on trie. Il est disponible dans Discover (mode ES|QL), dans Lens et dans les règles d'alerte.
FROM logs-*
| WHERE @timestamp > NOW() - 1 hour AND http.response.status_code >= 500
| STATS erreurs = COUNT(*) BY service.name
| SORT erreurs DESC
| LIMIT 10FROM logs-*
| EVAL duree_s = event.duration / 1000000000
| STATS p95 = PERCENTILE(duree_s, 95), requetes = COUNT(*) BY url.path
| WHERE requetes > 100
| SORT p95 DESCFROM logs-*
| GROK message "%{IP:client} %{WORD:methode} %{URIPATHPARAM:chemin} %{NUMBER:statut:int}"
| STATS total = COUNT(*) BY statut, BUCKET(@timestamp, 5 minutes)À savoir : ES|QL sait analyser des champs à la volée (GROK,DISSECT), enrichir (ENRICH,LOOKUP JOINselon la version) et découper le temps (BUCKET) : de nombreuses analyses ne demandent plus de visualisation.
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
💬 Questions sur cette leçon
Aucune question pour l'instant : soyez le premier à demander de l'aide ou à partager votre configuration.
Articles recommandés
Projet de parcours Elastic : centraliser et exploiter les journaux
Le projet de validation du parcours « Maîtrise de la suite Elastic » : Elastic Agent et Fleet, Lo...
Kibana : rôle, installation et premiers pas
Ce qu'est Kibana dans la suite Elastic, comment l'installer avec Elasticsearch (start-local, Dock...
Elastic Observability : logs, infrastructure, APM et synthétiques
Les fonctions d'Elastic Observability : exploration des logs, inventaire d'infrastructure avec El...
Transforms et enrich : résumer et enrichir les données dans Elasticsearch
Créer des index centrés sur les entités avec les transforms pivot et latest, et enrichir les docu...
Traces OpenTelemetry dans Elasticsearch et Kibana APM
Instrumenter des applications avec les SDK OpenTelemetry ou EDOT, envoyer les traces à Elasticsea...
Grafana vs Kibana : Quel outil de visualisation choisir ?
Découvrez les différences fondamentales entre Grafana, le roi des métriques multi-sources, et Kib...
Administrer Kibana : espaces, rôles, utilisateurs et supervision
Organiser Kibana pour plusieurs équipes : espaces, rôles et privilèges sur les index et les fonct...
Utiliser SigNoz : APM, traces, logs, dashboards et alertes
Exploiter SigNoz au quotidien : vue APM des services, explorateur de traces et de logs, query bui...
Logstash en production : files persistantes, DLQ et multi-pipelines
Rendre Logstash fiable en production : file persistante, dead letter queue, plusieurs pipelines e...