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
DQL en pratique : explorer logs et événements, notebooks, tableaux de bord et performance
Utiliser le Dynatrace Query Language au quotidien : explorer logs et événements, enchaîner les co...
Elastic Security : SIEM, règles de détection et investigation
Utiliser Elastic Security comme SIEM : sources de données ECS, types de règles de détection (quer...
Alertes, connecteurs et SLO dans Kibana
Créer des règles d'alerte dans Kibana (requête Elasticsearch, ES|QL, seuil personnalisé, logs), c...
Machine learning dans Elastic : détection d'anomalies et AIOps
Détecter automatiquement les comportements anormaux : jobs de détection d'anomalies, datafeeds, d...
OpenSearch Dashboards, alertes et observabilité
Explorer ses données dans OpenSearch Dashboards, créer des moniteurs d'alerte et découvrir Trace ...
Kibana avancé : data views, Lens, dashboards, alerting et reporting
Exploiter Kibana en profondeur : data views et champs runtime, Discover, Lens et formules, dashbo...
Kibana Maps et Canvas : cartes géographiques et présentations
Créer des cartes avec Kibana Maps (couches de documents, d'agrégats, choroplèthes, ES|QL) et des ...
Visualiser dans Kibana : Lens, dashboards et objets enregistrés
Construire des visualisations avec Lens, assembler des dashboards interactifs (filtres, contrôles...
Bonnes pratiques Kibana et Elastic Observability
Check-list pour exploiter Kibana en production : versions, sécurité, espaces et rôles, dashboards...