Observabiliteit berust op drie pijlers — logs, metreken en traces — en het doel is "wat gaat er fout en waarom" beantwoorden voor een systeem dat te groot is om handmatig te inspecteren. Op schaal gaat het om correlatie, sampling en kosten.
Observabiliteit berust op drie pijlers — logs, metreken en traces — en het doel is "wat gaat er fout en waarom" beantwoorden voor een systeem dat te groot is om handmatig te inspecteren. Op schaal gaat het om correlatie, sampling en kosten.
| Pijler | Beantwoordt | Tooling |
|---|
| Metreken | Gaat er iets fout? (rates, latentie) | Prometheus, Grafana |
| Traces | Waar in de stroom? | OpenTelemetry, Jaeger |
| Logs | Wat is er precies gebeurd? | ELK, Loki |
Metrics alert ─▶ trace pinpoints the slow service ─▶ logs explain the cause
(broad) (path) (detail)
De trace/correlatie-ID moet door metriek-labels, logregels en spans lopen, zodat je ertussen kunt schakelen.
log line: level=error trace_id=abc123 service=payments msg="gateway timeout"
^^^^^^^^^^^^^^^ same id appears in the trace + metrics
✓ Standardize: OpenTelemetry across all services
✓ Use structured (JSON) logs — queryable, not grep-only
✓ Sample traces (e.g. keep all errors + 1% of success) to control cost
✓ Define SLOs and alert on symptoms (latency/error rate), not noise
✓ RED/USE method for dashboards (Rate, Errors, Duration)
Alles op 100% loggen is onbetaalbaar en verdrinkt het signaal. Sample, structureer en alert op SLO's in plaats daarvan.
Met honderden services kun je niet inloggen en kijken — observabiliteit is de enige manier om productiegedrag te begrijpen.
De winningsstrategie is gecorreleerd, gesampled en SLO-gestuurd: deze brengt echte problemen snel aan het licht zonder je bankroet te maken op telemetrieopslag of je in-call-team te begraven in ruis.