Découvrez des sondes eBPF pour diagnostiquer rapidement I/O, CPU et réseau sans redémarrage.
objectifs d’apprentissage
- Installer bcc/bpftrace.
- Exécuter des sondes prêtes à l’emploi.
- Lire des métriques clés.
prérequis
- Kernel récent.
- Paquets bcc-tools ou bpftrace.
notions clés
- tracepoints/kprobes.
- maps.
- overhead minimal.
démonstration guidée
étape 1
Lister les programmes eBPF chargés puis lancer execsnoop.
bpftool prog show 2>/dev/null || true
sudo /usr/share/bcc/tools/execsnoop -n 5 2>/dev/null || true
étape 2
Mesurer la latence disque avec bpftrace (exemple).
sudo bpftrace -e 'tracepoint:block:block_rq_issue { @start[args->dev] = nsecs; } tracepoint:block:block_rq_complete /@start[args->dev]/ { @lat[args->dev] = hist((nsecs-@start[args->dev])/1000000); delete(@start[args->dev]); } interval:s:5 { print(@lat); clear(@lat); }' 2>/dev/null || true
exercice
Capturez les top syscalls par processus sur 10s et résumez.
correction
Outil bcc pour syscalls.
sudo /usr/share/bcc/tools/syscount -d 10 2>/dev/null | head -n 20 || true
quiz éclair
- Quel outil offre un langage d’expressions pour eBPF ?
- a) bpftrace
- b) strace
- c) tcpdump