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.
