Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

eBPF — Observabilita přímo z jádra Linuxu

05. 11. 2025 4 min čtení CORE SYSTEMSai

Tradiční monitoring funguje jako rentgen — vidíte obraz, ale musíte hádat, co se děje uvnitř. eBPF je jako endoskop: jdete přímo do jádra operačního systému a sledujete každý pakět, syscall a alokaci paměti v reálném čase. Bez agentů. Bez instrumentace kódu. Bez restartu.

Co je eBPF a proč byste měli vědět

eBPF (extended Berkeley Packet Filter) je technologie zabudovaná přímo v linuxovém jádře, která umožňuje spouštět sandboxované programy v kernel space. Původně vznikla pro filtrování síťových paketů, ale dnes pokrývá observabilitu, bezpečnost i networking.

Klíčová vlastnost: eBPF programy se připojují k hook pointům v jádře — k syscallům, síťovým událostem, scheduler eventům, file system operacím. Jádro je verifikuje před spuštěním (žádné nekonečné smyčky, žádný přístup k zakázané paměti), takže jsou bezpečné i v produkci.

Proč je to revoluce? Klasický monitoring vyžaduje buď agenty (overhead, údržba), nebo instrumentaci aplikace (změny kódu, vendor lock-in). eBPF nepotřebuje ani jedno — sleduje systém zevnitř jádra, transparentně pro aplikace.

Tři pilíře eBPF observability

1. Síťová observabilita

eBPF vidí každý pakět, který projde síťovým stackem. Na rozdíl od tradičních nástrojů (tcpdump, Wireshark) to dělá efektivně — filtruje a agreguje přímo v jádře, takže do user space posílá jen relevantní data.

  • Cilium Hubble: Plná L3/L4/L7 viditelnost v Kubernetes — kdo komunikuje s kým, latence, error rate, DNS queries
  • Retransmise TCP: Detekce packet lossu bez pcap — identifikace problematických nodů v clusteru
  • Service map: Automatická mapa závislostí mezi mikroslužbami, bez změny kódu

2. Application performance

eBPF umí sledovat výkon aplikací bez APM agentů. Pomocí uprobe/uretprobe se připojí k funkcím v user space a měří latenci, alokace, I/O operace.

Sledování latence HTTP handlerů v Go aplikaci

pomocí bpftrace — bez změny kódu!

bpftrace -e ‘uprobe:/usr/bin/myapp:net/http.(*ServeMux).ServeHTTP {

@start[tid] = nsecs;

}

uretprobe:/usr/bin/myapp:net/http.(*ServeMux).ServeHTTP /

@start[tid]/ {

@latency_us = hist((nsecs - @start[tid]) / 1000);

delete(@start[tid]);

}’

Tento přístup má overhead pod 2 % — řádově méně než tradiční APM agenti (typicky 5–15 %).

3. Security monitoring

eBPF je základ nové generace runtime security nástrojů. Místo pravidel na úrovni firewallu sleduje chování procesů v reálném čase:

  • Tetragon (Cilium): Kernel-level security observability — sledování syscallů, file access, network connections na úrovni procesu
  • Falco + eBPF driver: Runtime threat detection s eBPF backendem místo kernel modulu
  • Detekce anomálií: Process spustil shell v kontejneru? Připojil se na neobvyklý port? eBPF to zachytí okamžitě

eBPF v Kubernetes — kde to dává největší smysl

Kubernetes je ideální prostředí pro eBPF. Dynamické prostředí s tisíci kontejnerů, ephemeral pody, service mesh — tradiční monitoring nestíhá. eBPF řeší několik bolestivých problémů:

  • Nahrazení kube-proxy: Cilium s eBPF nahrazuje iptables — lepší výkon, lepší viditelnost, škálování na tisíce služeb
  • Service mesh bez sidecarů: Cilium Service Mesh implementuje mTLS a L7 politiky přímo v jádře — žádné Envoy sidecar kontejnery, nižší overhead
  • Network policies: Nativní enforcement v jádře, ne přes iptables řetězce
  • Pod-level metriky: CPU, paměť, síťový provoz — agregované přímo v jádře per cgroup

Ekosystém nástrojů v roce 2025

Ekosystém kolem eBPF v roce 2025 vyspěl do produkční kvality:

  • Cilium 1.16+: CNI plugin pro Kubernetes s plnou eBPF observabilitou a service mesh
  • Grafana Beyla: Auto-instrumentace HTTP/gRPC služeb pomocí eBPF — zero-code observability
  • Pixie (CNCF): Kubernetes observability platform — auto-telemetrie bez agentů
  • bpftrace: High-level tracing jazyk pro ad-hoc debugging — „awk pro kernel tracing”
  • Tetragon: Security observability a runtime enforcement od tvůrců Cilium
  • Kepler: Kubernetes energy monitoring pomocí eBPF — sledování spotřeby energie per pod

Praktické nasazení — jak začít

eBPF vyžaduje Linux kernel 5.10+ (ideálně 5.15+ nebo 6.x pro všechny funkce). Většina cloudových providerů (AKS, EKS, GKE) už nabízí nody s dostatečně novým jádrem.

  1. Začněte s Cilium: Nahraďte výchozí CNI (Calico/Flannel) za Cilium — získáte síťovou observabilitu „zdarma”
  2. Zapněte Hubble: Dashboard pro vizualizaci síťového provozu — service map, latence, DNS
  3. Přidejte Grafana Beyla: Auto-instrumentace pro RED metriky (Rate, Errors, Duration) bez změny kódu
  4. Security s Tetragonem: Runtime políčky — detekce podezřelého chování v kontejnerech
  5. Ad-hoc debugging: Naučte tým bpftrace pro rychlou diagnostiku produkčních problémů

Na co si dát pozor

eBPF není stříbrná kulka. Několik věcí, které je dobré vědět předem:

  • Kernel verze: Starší distribuce (RHEL 7, CentOS 7) nemají dostatečnou podporu — plánujte upgrade
  • BTF (BPF Type Format): Pro CO-RE (Compile Once, Run Everywhere) potřebujete kernel s BTF — zkontrolujte před nasazením
  • Windows: eBPF for Windows existuje, ale je výrazně za Linuxem — primárně Linux technologie
  • Learning curve: Psaní vlastních eBPF programů vyžaduje znalost C a kernel internals — pro většinu týmů stačí hotové nástroje
  • Privilegia: eBPF programy potřebují CAP_BPF capability — bezpečnostní implikace v multi-tenant prostředí

Shrnutí

eBPF je nejdůležitější infrastrukturní technologie dekády. V roce 2025 přešla z experimentální fáze do mainstream produkčního nasazení. Pro Kubernetes clustery je Cilium prakticky standard. Pro observabilitu nabízí bezagentní přístup s minimálním overheadem.

CORE SYSTEMS implementuje eBPF-based observabilitu a security monitoring pro Kubernetes i bare-metal infrastrukturu.

ebpfobservabilitylinuxciliummonitoring