La correction est intégrée au TP (Voir les encadrés de couleur vert)
Ce que vous allez apprendre dans ce TP
- Charger un jeu de données
- Créer un job et son datafeed
- Lire les anomalies
- Prévoir et expliquer un pic
Introduction #
Ce que vous allez apprendre dans cette section
- Charger un jeu de données
- Créer un job et son datafeed
- Lire les anomalies
- Prévoir et expliquer un pic
Contexte. Le trafic du site varie selon l'heure et le jour : un seuil fixe sonne trop ou pas assez. Vous laissez le machine learning apprendre le rythme normal et signaler les écarts.
Prérequis : Docker, 4 Go de RAM libres, jq ; licence d'essai (fournie par start-local) · Durée estimée : 40 min
Licence : ce TP utilise l'essai de 30 jours (fonctions Platinum) activé automatiquement par start-local. Sur un cluster existant, activez-le avec POST _license/start_trial?acknowledge=true (une seule fois par version majeure) ; à l'expiration, le cluster repasse en licence Basic et les jobs s'arrêtent. Le Data Visualizer reste gratuit.
Mise en place #
Étapes guidées, avec leur correction.
1. Le labo
Pourquoi ? start-local démarre Elasticsearch et Kibana avec une licence d'essai de 30 jours, nécessaire au machine learning.
Voir la correction
curl -fsSL https://elastic.co/start-local | sh source elastic-start-local/.env && export PASS=$ES_LOCAL_PASSWORD curl -s -u elastic:$PASS localhost:9200/_license | jq -r .license.type # trial2. Les données
Chargez le jeu de données d'exemple « web logs » de Kibana.
Voir la correction
curl -s -X POST localhost:5601/api/sample_data/logs -u elastic:$PASS -H 'kbn-xsrf: true' curl -s -u elastic:$PASS localhost:9200/kibana_sample_data_logs/_count | jq .count3. Le job et le datafeed
Pourquoi ? Le détecteur
countmodélise le volume de requêtes par tranche de 15 minutes ;geo.srcsert d'influenceur pour expliquer les écarts.Voir la correction
curl -s -X PUT localhost:9200/_ml/anomaly_detectors/web-requetes -u elastic:$PASS -H 'Content-Type: application/json' -d '{ "analysis_config": { "bucket_span": "15m", "detectors": [ { "function": "count" } ], "influencers": ["geo.src"] }, "data_description": { "time_field": "timestamp" } }' | jq .job_id curl -s -X PUT localhost:9200/_ml/datafeeds/datafeed-web-requetes -u elastic:$PASS -H 'Content-Type: application/json' \ -d '{ "job_id": "web-requetes", "indices": ["kibana_sample_data_logs"] }' | jq .datafeed_id curl -s -X POST localhost:9200/_ml/anomaly_detectors/web-requetes/_open -u elastic:$PASS | jq .opened curl -s -X POST localhost:9200/_ml/datafeeds/datafeed-web-requetes/_start -u elastic:$PASS -H 'Content-Type: application/json' -d '{ "end": "now" }' | jq .started4. Lire les anomalies
Listez les anomalies les plus fortes, puis ouvrez Anomaly Explorer dans Kibana (Machine Learning › Anomaly Detection).
Voir la correction
sleep 30 curl -s -u elastic:$PASS 'localhost:9200/_ml/anomaly_detectors/web-requetes/results/records?sort=record_score&desc=true&size=5' \ | jq '.records[] | {timestamp: (.timestamp/1000 | todate), score: .record_score, reel: .actual, attendu: .typical}'À savoir : Les données d'exemple sont générées : selon la date d'installation, le modèle trouve plus ou moins d'anomalies. L'important est de savoir lire le score, la valeur réelle et la valeur attendue.
5. Prévoir et expliquer
Lancez une prévision sur 24 heures, puis utilisez Log rate analysis (Machine Learning › AIOps Labs) sur un pic du jeu de données.
Voir la correction
curl -s -X POST localhost:9200/_ml/anomaly_detectors/web-requetes/_forecast -u elastic:$PASS -H 'Content-Type: application/json' -d '{ "duration": "1d" }' | jq .forecast_id # Kibana › Machine Learning › Single Metric Viewer : la prévision s'affiche à droite de la courbe # Nettoyage : curl -s -X POST localhost:9200/_ml/datafeeds/datafeed-web-requetes/_stop -u elastic:$PASS
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
Machine learning dans Elastic : détection d'anomalies et AIOps
Détecter automatiquement les comportements anormaux : jobs de détection d'anomalies, datafeeds, d...
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...
Davis AI avancé : détection d'anomalies, IA causale, prédictive et générative
Comprendre Davis AI : seuils statiques, baselines auto-adaptatives et saisonnières, analyse causa...
Grafana Assistant : L'IA au service de l'observabilité
Découvrez Grafana Assistant, l'intelligence artificielle intégrée à Grafana Cloud. Apprenez comme...
Elastic Observability : logs, infrastructure, APM et synthétiques
Les fonctions d'Elastic Observability : exploration des logs, inventaire d'infrastructure avec El...
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...
Elastic Common Schema (ECS) : le format standard des données Elastic et son rôle dans Elastic SIEM
Comprendre l'Elastic Common Schema (ECS) : format standard des champs dans Elasticsearch, convent...
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...
Bonnes pratiques Kibana et Elastic Observability
Check-list pour exploiter Kibana en production : versions, sécurité, espaces et rôles, dashboards...