bpftop - Monitor eBPF in Tempo Reale
bpftop (di Netflix) è una UI terminale che fornisce una visualizzazione in tempo reale di tutti i programmi eBPF in esecuzione su un host. Per ogni programma mostra il tempo di esecuzione medio, gli eventi al secondo e l”utilizzo della CPU stimato, aggiornando live — quindi puoi vedere quali programmi eBPF sono in esecuzione, con che frequenza vengono attivati e quanta overhead aggiungono. Poiché eBPF si diffonde tra l”osservabilità, la rete e gli strumenti di sicurezza, bpftop risponde a “quale eBPF è in esecuzione e quanto mi sta costando?”
Requisiti
- Kernel Linux con supporto delle statistiche di runtime eBPF
- Privilegi root (legge le statistiche BPF del kernel)
- bpftop abilita
kernel.bpf_stats_enabled mentre è in esecuzione (e lo ripristina all”uscita)
Installazione
Esecuzione
| Comando | Descrizione |
|---|
sudo bpftop | Avvia la TUI live |
bpftop --help | Mostra le opzioni |
bpftop --version | Versione |
bpftop deve essere eseguito come root perché legge le statistiche BPF del kernel e attiva bpf_stats_enabled.
Il Display
| Colonna | Significato |
|---|
| ID | ID del programma BPF |
| Nome | Nome del programma |
| Tipo | Tipo di programma (kprobe, tracepoint, XDP, cgroup, …) |
| Period Avg Runtime (ns) | Tempo medio per esecuzione nell”ultimo periodo |
| Total Avg Runtime (ns) | Media dall”abilitazione delle statistiche |
| Eventi/sec | Tasso di invocazione |
| Est. CPU % | Utilizzo della CPU stimato di questo programma |
Tasti Interattivi
| Tasto | Azione |
|---|
↑ / ↓ | Muovi la selezione |
Enter | Apri un grafico dettagliato per il programma selezionato |
| Ordina | Ordina per runtime / eventi / CPU (colonna) |
q | Esci (ripristina lo stato precedente di bpf_stats_enabled) |
Cosa Cercare
| Osservazione | Interpretazione |
|---|
| Est. CPU % elevato su un programma | Un programma eBPF che aggiunge overhead reale |
| Eventi/sec elevati | Un hook hot che viene attivato molto frequentemente |
| Runtime medio in aumento | Un programma che diventa più costoso nel tempo |
| Programmi inaspettati | eBPF che non hai installato consapevolmente |
Perché Importa
eBPF è alla base di strumenti come Cilium/Tetragon, Falco, Tracee, Pixie e molti profiler. Ogni carica programmi nel kernel. bpftop fornisce un unico posto per vedere l”impronta aggregata e catturare un programma comportandosi male o troppo hot prima che degradi l”host.
Flussi di Lavoro Comuni
# Vedi quale eBPF è in esecuzione e il suo costo proprio adesso
sudo bpftop
# Valida l''overhead di un agente di sicurezza eBPF appena distribuito
sudo bpftop # guarda l''Est. CPU % dei programmi dell''agente sotto carico
# Indaga una regressione misteriosa della CPU che gli strumenti di tracing causano
sudo bpftop # ordina per Est. CPU %, approfondisci il programma top
bpftop vs Strumenti Correlati
| Aspetto | bpftop | bpftool | btop / htop |
|---|
| Focus | Metriche live per-eBPF-programma | Ispeziona/gestisci oggetti BPF | Processi a livello di sistema |
| Costo real-time | Sì (runtime, eventi, CPU) | Elenco statico | CPU/mem del processo |
| UI | TUI con grafici | CLI | TUI |
| Migliore per | Monitoraggio dell”overhead eBPF | Gestione di programmi/mappe BPF | Monitoraggio generale |
Risorse