La correction est intégrée au TP (Voir les encadrés de couleur vert)
Ce que vous allez apprendre dans ce TP
- Agréger avec STATS
- Calculer avec EVAL
- Découper le temps avec BUCKET
Introduction #
Ce que vous allez apprendre dans cette section
- Agréger avec STATS
- Calculer avec EVAL
- Découper le temps avec BUCKET
Contexte. Le responsable technique veut savoir quels hôtes servent le plus d'erreurs, à quelles heures, et quelle part du trafic vient des robots. Vous répondez avec ES|QL.
Prérequis : TP précédent terminé · Durée estimée : 35 min
Des analyses complètes en une requête.Mise en place #
Étapes guidées, avec leur correction.
1. Première requête
Pourquoi ? ES|QL se lit de haut en bas : source, filtre, agrégation, tri.
Passez Discover en mode ES|QL et comptez les requêtes par pays d'origine.Voir la correction
FROM kibana_sample_data_logs | STATS requetes = COUNT(*) BY geo.src | SORT requetes DESC | LIMIT 52. Erreurs par hôte
Pourquoi ? Le champ
Calculez le nombre et le taux d'erreurs (codes ≥ 500) par hôte.responseest du texte : on le convertit pour comparer.Voir la correction
FROM kibana_sample_data_logs | EVAL code = TO_INTEGER(response.keyword), erreur = CASE(code >= 500, 1, 0) | STATS requetes = COUNT(*), erreurs = SUM(erreur) BY host.keyword | EVAL taux = ROUND(100.0 * erreurs / requetes, 2) | SORT taux DESCÀ savoir : Si un champ
.keywordn'existe pas dans votre version du jeu de données, consultez son type dans la liste des champs et utilisez le champ principal.3. Profil horaire
Pourquoi ? Repérer les heures de pointe aide à planifier les maintenances.
Comptez les requêtes par tranche d'une heure sur les 7 derniers jours et affichez le résultat en graphique.Voir la correction
FROM kibana_sample_data_logs | WHERE @timestamp > NOW() - 7 days | STATS requetes = COUNT(*) BY heure = BUCKET(@timestamp, 1 hour) | SORT heure4. Volume servi par extension
Pourquoi ? EVAL permet de convertir des unités à la volée.
Calculez le volume total servi en mégaoctets par extension de fichier.Voir la correction
FROM kibana_sample_data_logs | STATS octets = SUM(bytes) BY extension.keyword | EVAL mo = ROUND(octets / 1048576.0, 1) | KEEP extension.keyword, mo | SORT mo DESC
Niveau de difficulté : ●●●○○ (3/5)
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
Explorer ses données dans Discover : KQL, Lucene et ES|QL
Rechercher et analyser des logs dans Kibana Discover : filtres, KQL, syntaxe Lucene, et le langag...
Visualiser dans Kibana : Lens, dashboards et objets enregistrés
Construire des visualisations avec Lens, assembler des dashboards interactifs (filtres, contrôles...
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 ...
Mappings et analyse de texte Elasticsearch : types de champs, analyseurs et mapping dynamique
Maîtriser les mappings Elasticsearch : types de champs (text, keyword, numériques, date, ip, nest...
Machine learning dans Elastic : détection d'anomalies et AIOps
Détecter automatiquement les comportements anormaux : jobs de détection d'anomalies, datafeeds, d...
Dynatrace : analyser les requêtes de base de données (modifications, requêtes et procédures, transactions)
Comment Dynatrace capte les appels de base de données depuis l'application, les regroupe en servi...
Kibana avancé : data views, Lens, dashboards, alerting et reporting
Exploiter Kibana en profondeur : data views et champs runtime, Discover, Lens et formules, dashbo...
Query DSL et agrégations avancées Elasticsearch, avec ES|QL
Écrire des requêtes Elasticsearch avancées : bool, filter et score, nested, function_score et per...
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...