eBPF-observabilité
eBPF avec une Orientation Observabilité
Objectifs de la Formation :
Comprendre les concepts de base d'eBPF et son rôle dans l'observabilité des systèmes.
Apprendre à utiliser eBPF pour collecter des métriques, des logs, et des traces directement depuis le noyau Linux.
Mettre en œuvre des scénarios pratiques d'observabilité avec eBPF.
Développer des compétences en utilisant des outils d'observabilité basés sur eBPF, comme bpftrace, BCC, et autres.
1. Introduction à eBPF et à l'Observabilité (1h)
Objectifs :
Comprendre les bases d'eBPF et son importance pour l'observabilité.
Présentation des concepts fondamentaux : observabilité, traces, logs, métriques.
Contenu :
Qu'est-ce qu'eBPF ?
Comment eBPF transforme l'observabilité ?
Cas d'utilisation d'eBPF pour l'observabilité : sécurité, surveillance des performances, troubleshooting.
Lab :
Exploration d'exemples simples d'eBPF pour comprendre son fonctionnement de base.
2. Les Fondamentaux d'eBPF (2h)
Objectifs :
Acquérir une compréhension des concepts clés et des composants d'eBPF.
Introduction aux programmes eBPF, BPF Virtual Machine, et aux points de trace.
Contenu :
Architecture d'eBPF : kernel, user space, BPF VM.
Types de programmes eBPF : tracepoints, kprobes, uprobes, XDP, tc.
Communication entre user space et kernel space avec eBPF.
Lab :
Écrire et charger un programme eBPF simple avec les outils BPF Compiler Collection (BCC).
3. eBPF pour la Surveillance des Performances (3h)
Objectifs :
Utiliser eBPF pour surveiller la performance des systèmes.
Capturer des métriques de performances au niveau du kernel.
Contenu :
Surveillance des CPU, de la mémoire, du réseau avec eBPF.
Utilisation de bpftrace et des outils BCC pour l'analyse des performances.
Exemples pratiques : mesure de la latence des appels système, analyse de la consommation CPU.
Lab :
Mise en place d'un monitoring des performances système avec bpftrace.
Utilisation de scripts bpftrace pour capturer des événements système spécifiques.
4. eBPF pour la Collecte de Logs et Traces (3h)
Objectifs :
Apprendre à capturer des logs et des traces détaillés avec eBPF.
Comprendre comment eBPF peut être utilisé pour le troubleshooting en temps réel.
Contenu :
Utilisation des kprobes et uprobes pour la capture des événements.
Construction de traces pour le suivi des appels de fonction.
Exemple d'intégration avec des outils comme Jaeger pour la visualisation des traces.
Lab :
Capture de traces d'une application en production avec eBPF.
Utilisation de BCC pour collecter et analyser les logs au niveau du noyau.
5. Cas Pratiques d'Observabilité avec eBPF (4h)
Objectifs :
Appliquer les connaissances acquises dans des scénarios réels.
Résoudre des problèmes de performances et de sécurité avec eBPF.
Contenu :
Use Case 1 : Surveiller une application distribuée avec eBPF.
Use Case 2 : Détection des anomalies de réseau avec eBPF.
Use Case 3 : Sécuriser un système Linux avec des programmes eBPF pour capturer des événements suspects.
Lab :
Mise en place d'une solution d'observabilité complète pour une application en utilisant eBPF.
Analyse des performances et des incidents de sécurité en temps réel.
6. Intégration d'eBPF avec des Outils d'Observabilité (2h)
Objectifs :
Savoir intégrer eBPF avec des plateformes d'observabilité existantes.
Utiliser eBPF en conjonction avec Prometheus, Grafana, ou Elastic Stack.
Contenu :
Exportation des données eBPF vers Prometheus.
Visualisation des métriques et traces eBPF avec Grafana.
Intégration avec Elastic Stack pour l'analyse des logs.
Lab :
Création de dashboards Grafana pour surveiller les données collectées via eBPF.
Exportation des métriques eBPF dans Prometheus.
7. Conclusion et Évaluation (1h)
Objectifs :
Réviser les concepts clés.
Évaluer les compétences acquises.
Contenu :
Résumé des points clés de la formation.
Discussion des questions et des problèmes rencontrés.
Évaluation finale : QCM et étude de cas pratique.
Durée Totale : 16 heures
---
Last updated