📊 Monitoring a observabilita
OpenMetrics standard
OpenMetrics (CNCF sandbox) je de-facto standard pro expozici metrik v cloud-native prostředí:
- Podpora text representation i Protocol Buffers
- Základ pro Prometheus exposition format
- Specifikuje: counter, gauge, histogram, summary, gaugehistogram, statefulset
_total suffix pro kumulativní hodnoty, _bucket pro histogramy
- Metadata: HELP, TYPE, UNIT, (časové razítko volitelné)
Standard se vyvíjí v rámci OpenObservability.
Nové nástroje a trendy (2024–2026)
| Nástroj |
Popis |
| Grafana Sigil |
AI observability pro LLM agenty (OTel-native) |
| InfraLens |
eBPF-based, zero-instrumentation network observability |
| Ingero |
GPU causal observability (eBPF, CUDA tracing) |
| GreptimeDB |
Unified observability DB — nahrazuje Prometheus + Loki + ES |
| Netdata |
AI-powered full-stack monitoring, 800+ integrations, edge ML |
Tři pilíře observability
- Logs — nestrukturovaná data o událostech (ERROR, WARN, INFO)
- Metrics — číselná data v čase (latence, chybovost, vytížení CPU)
- Traces — sledování požadavku napříč službami (distributed tracing)
SLI / SLO / SLA
| Termín |
Význam |
Příklad |
| SLI (Service Level Indicator) |
Naměřená metrika |
Latence p99 = 250ms |
| SLO (Service Level Objective) |
Cílová hodnota |
99.9 % requestů < 300ms |
| SLA (Service Level Agreement) |
Právní závazek |
99.95 % uptime |
Error budget
Error Budget = 100 % - SLO
- Pokud je SLO 99.9 %, error budget je 0.1 % času
- Dokud error budget zbývá, tým může deployovat nové featury
- Po vyčerpání — freeze na deploye, priorita je stabilita
Pyramid of metrics — RED vs USE vs 4 Golden Signals
4 Golden Signals (Google SRE)
- Latency — čas zpracování requestu (rozlišovat success vs error latenci)
- Traffic — počet requestů / propustnost (RPS, QPS, throughput)
- Errors — explicitní chyby (5xx, 4xx) i implicitní (success s chybným výsledkem)
- Saturation — jak je služba "plná" (CPU, memory, queue depth, connection pool)
USE (pro infrastrukturu)
- Utilization — jak je resource vytížená (% času je aktivní)
- Saturation — kolik čeká ve frontě (run queue, I/O wait)
- Errors — chyby (dropped packets, disk errors, OOM)
RED (pro služby)
- Rate — počet requestů za sekundu
- Errors — počet chybných requestů
- Duration — latence (distribuce, percentily)
| Metodologie |
Zaměření |
Typické metriky |
| 4 Golden Signals |
Služby + infrastruktura |
Latence, RPS, errors, saturation |
| USE |
Infrastruktura |
CPU util, I/O saturace, disk errors |
| RED |
Microservices |
RPS, error rate, p50/p95/p99 latence |
PromQL příklady
| Výraz |
Popis |
rate(http_requests_total[5m]) |
Počet requestů za sekundu (průměr za 5 min) |
increase(http_requests_total[1h]) |
Celkový nárůst za 1 hodinu |
sum by (status) (rate(http_requests_total[5m])) |
Requesty agregované podle status kódu |
histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket[5m])) by (le)) |
p99 latence |
avg_over_time(cpu_usage[1h]) |
Průměrné CPU vytížení za hodinu |
topk(5, sum(rate(http_requests_total[5m])) by (service)) |
Top 5 služeb podle RPS |
max_over_time(memory_usage[24h]) |
Maximální memory usage za 24h |
rate(node_network_drop_total[5m]) > 0 |
Sítě s dropped pakety |
(1 - avg(rate(node_cpu_seconds_total{mode="idle"}[5m]))) |
CPU utilization (1 - idle) |
delta(http_request_duration_seconds_sum[5m]) / delta(http_request_duration_seconds_count[5m]) |
Průměrná latence |
absent(metric) |
Alert když metrika chybí |
Recording rules
Pre-agregace často používaných PromQL dotazů pro snížení zátěže při dotazování.
Kdy použít
- Složité dotazy používané na více dashboardech
- Dotazy nad surovými daty s vysokým kardinality
- Často dotazované agregace (např. p99 latence za poslední měsíc)
Příklad
- record — název nové metriky (konvence:
level:metric:aggregation)
- interval — jak často se pravidlo vyhodnocuje (typicky 1-5 min)
Metriky — nástroje
Metrics
| Nástroj |
Popis |
| Prometheus |
Pull-based, time-series DB, silný query language (PromQL) |
| Grafana |
Vizualizace, dashboardy, alerting |
| Datadog |
SaaS, APM, logs, metrics v jednom |
| New Relic |
APM, browser monitoring |
| CloudWatch |
AWS nativní |
| Azure Monitor |
Azure nativní |
| Google Cloud Ops |
GCP nativní |
Logging
| Nástroj |
Popis |
| ELK Stack |
Elasticsearch, Logstash, Kibana |
| Loki |
Grafana Loki — lightweight, Prometheus-like |
| Splunk |
Enterprise log management |
| Fluentd / Fluent Bit |
Log collector a forwarder |
| Vector |
High-performance log/metric collector |
Tracing
| Nástroj |
Popis |
| Jaeger |
Open-source distributed tracing |
| Zipkin |
Open-source distributed tracing |
| OpenTelemetry |
Standard pro instrumentaci (logs, metrics, traces) |
| Datadog APM |
SaaS tracing |
| AWS X-Ray |
AWS tracing |
OpenTelemetry detail
Span attributes
Context propagation (W3C TraceContext)
traceparent — hlavička nesoucí trace-id, span-id, trace flags
- Formát:
00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01
- Version (00) | Trace-ID (32 hex) | Span-ID (16 hex) | TraceFlags (01 = sampled)
tracestate — vendor-specific data, kompatibilní cross-provider
- Propagace probíhá přes HTTP hlavičky, gRPC metadata, message queue properties
Sampling
| Typ |
Popis |
Use case |
| Head-based |
Rozhodnutí o sample na začátku trace (na základě ID) |
Jednoduchý, deterministický |
| Tail-based |
Rozhodnutí po dokončení trace (podle výsledku, latence) |
Kvalitnější sample, komplexnější |
- Tail-based sampling: často používán pro kritické trace (5xx, p99+, slow traces)
- Nástroje: Grafana Tempo (tail-based), Jaeger (head-based), OTel Collector (head + tail)
Alerting
Principy
- Alert na symptom, ne na příčinu — "500 errors" místo "high CPU"
- Reduce noise — flapping alerts, alert fatigue
- Runbook pro každý alert — co dělat když alert pípne
- Alert severity — P0 (critical), P1 (high), P2 (medium), P3 (low)
Alertmanager (Prometheus)
Koncepty:
- Grouping — seskupování alertů podle labelů (snížení noise, např. všechny down instance v clusteru)
- Inhibition — potlačení méně závažných alertů při existenci závažnějšího (např. nodedown inhibuje pod alerty)
- Silencing — dočasné potlačení alertu (matching labels + duration)
- Routing tree — hierarchické routování podle label match (severity, service, team)
ESM (Event / Incident Management)
- PagerDuty, Opsgenie, OnCall (Grafana)
- Escalation policies
- On-call rotations
Strukturované logování
Povinná pole strukturovaného logu
| Pole |
Popis |
Příklad |
timestamp |
ISO 8601 / RFC 3339 |
2026-06-03T10:30:00Z |
level |
Log level (RFC 5424) |
ERROR, WARN, INFO, DEBUG |
message |
Lidsky čitelná zpráva |
Payment processed |
service |
Název služby |
payment-service |
trace_id |
Korelace napříč službami |
abc123def456 |
RFC 5424 log levels
| Číslo |
Level |
Použití |
| 0 |
EMERG |
Systém nepoužitelný |
| 1 |
ALERT |
Nutná okamžitá akce |
| 2 |
CRIT |
Kritická chyba |
| 3 |
ERROR |
Chyba (ne kritická) |
| 4 |
WARN |
Varování |
| 5 |
NOTICE |
Normální, ale důležitá událost |
| 6 |
INFO |
Informační zpráva |
| 7 |
DEBUG |
Ladění (vypnuto v produkci) |
Correlation ID (traceparent)
- Generován při vstupu do systému (API gateway, frontend, message consumer)
- Propagován v HTTP hlavičce
X-Correlation-ID / traceparent
- Umožňuje spojit logy napříč microservices (→ Grafana Explore, Kibana Discover)
- Implementace: middleware v aplikaci, service mesh (Envoy), API gateway
Distributed tracing detail
Span kinds
| Kind |
Popis |
Příklad |
| CLIENT |
Volání downstream služby (outbound) |
HTTP klient volá API |
| SERVER |
Zpracování příchozího požadavku |
HTTP handler |
| INTERNAL |
Lokální operace v rámci služby |
Výpočet, transformace |
| PRODUCER |
Odeslání zprávy do fronty |
Kafka producer |
| CONSUMER |
Příjem zprávy z fronty |
Kafka consumer |
Trace context chain
- W3C TraceContext — standardizace cross-service tracing
- Baggage — přenos kontextových dat (tenant, user role) mezi spans
Grafana
Provisioning dashboards as code
Dashboards JSON v gitu → CI/CD → automatický import do Grafany.
Variables
- Query variable — dynamické hodnoty (např. seznam service names z PromQL:
label_values(up, service))
- Interval variable —
$__auto_interval, $__interval pro proměnlivý time range
- Custom variable — ruční seznam hodnot (env: prod, staging, dev)
- Chained variable — závislá proměnná (výběr namespace → zobrazí pody v namespace)
Annotations
- Kreslení událostí do grafu (deploye, incidenty, config změny)
- Zdroje: Prometheus alerty, Loki logy, GitHub Actions, custom API
- Use case: "Deploy v 14:30 → spike v latenci v 14:31 → korelace"
On-call best practices
Escalation policies
Incident severity matrix
| Severity |
Popis |
Reakce |
Komunikace |
| P0 (Critical) |
Služba kompletně nedostupná, data loss, security breach |
Ihned, 24/7 |
Status page + Stakeholder update |
| P1 (High) |
Major funkčnost degradovaná, část uživatelů postižena |
Do 15 min |
Slack channel + Tým lead |
| P2 (Medium) |
Non-critical funkce nefunguje, workaround existuje |
Do 1 h |
Slack channel |
| P3 (Low) |
Kosmetický problém, žádný dopad na uživatele |
Next business day |
Jira ticket |
Postmortem
- Blameless — cílem je naučit se, ne obviňovat
- Struktura: Timeline, detection, root cause, resolution, action items
- SRE princip: každá incident → postmortem → systémové zlepšení
- Nástroje: Jira, Incident.io, PagerDuty postmortem, Google Docs
Logging patterns
Best practices
- Dashboard pro každou úroveň — executive, service, troubleshooting
- Syntetické monitoring — Heartbeat checky, browser tests (Playwright, Cypress)
- APM — Application Performance Monitoring (databázové query, externí volání)
- Anomaly detection — ML-based detekce outlierů
- Retention politika — raw data krátce, agregace dlouhodobě
- Jednotný formát logů — JSON, strukturovaná data
Doporučená literatura
Klasické knihy
| Kniha |
Autoři |
ISBN |
Klíčová témata |
| Site Reliability Engineering |
Beyer, Jones, Petoff, Murphy |
978-1491929124 |
Jak Google provozuje produkční systémy — SRE principy, error budgety, toil, SLI/SLO |
| The Site Reliability Workbook |
Beyer, Murphy, Rensin, Kawahara, Thorne |
978-1492029502 |
Praktický doprovod k SRE — case studies z Evernote, Home Depot, NY Times; implementace SLO, monitoring, on-call |
| Observability Engineering |
Majors, Fong-Jones, Miranda |
978-1492076445 |
První ucelená kniha o observability — structured events, iterativní verifikace hypotéz, core analysis loop; 2. vydání v roce 2026 (32 nových kapitol o AI, cost governance) |
Cloud a monitoring
| Kniha |
Autor |
ISBN/Rok |
Témata |
| Cloud Observability in Action |
Michael Hausenblas |
Manning, 2023 |
Praktický průvodce observability v cloud-native prostředí — signal types (logs, metrics, traces, profiles), OTel Collector, SLOs, signal correlation, developer observability; open-source nástroje |
| Mastering Prometheus |
William Hegedus |
978-1-80512-566-2 |
Pokročilé techniky pro Prometheus — interní architektura TSDB, custom service discovery, kardinalita, remote storage (VictoriaMetrics, Mimir), SLO-based alerting; autor je SRE manager v Akamai a contributor Prometheus/Thanos |
| Observability with Grafana |
Chapman, Holmes |
978-1-80324-964-3 |
Kompletní průvodce LGTM stackem (Loki, Grafana, Tempo, Mimir) — instrumentace přes OTel, LogQL/PromQL/TraceQL, AI/ML alerting, real user monitoring s Faro, Pyroscope profiling, k6 zátěžové testování |
| Hands-On Monitoring and Alerting with Prometheus |
Muhammad Badawy |
978-9349887565 |
Praktický průvodce Prometheus — instalace, konfigurace, service discovery, labeling, PromQL, Alertmanager, monitoring Linux, Windows, Docker, databází |
AI a observability
| Kniha |
Autoři |
ISBN/Rok |
Témata |
| Observability in the AI-Native Era |
Lipsig, Grabner, Rati |
978-1-80638-959-9 |
Propojení observability s AIOps — ML-based anomaly detection, root-cause analysis, self-healing systémy, OTel + Prometheus + Grafana + Dynatrace/Datadog, compliance |
| Open Source Observability |
Corless, Pawar |
O'Reilly, 2025 |
Report o disaggregated, modulárních observability stackách — flexibilita, cost efficiency, data autonomy, blueprint pro vlastní řešení z open-source komponent |
Detailní přehled nástrojů
Rozšířené informace k nástrojům z tabulky výše:
Grafana Sigil
AI observability produkt od Grafana Labs. OpenTelemetry-native SDK pro instrumentaci LLM agentů:
- Repozitář:
github.com/grafana/sigil-sdk (Go SDK) + sigil-app (Grafana plugin)
- Funkce: sledování konverzací, generování, tool usage, cost tracking, quality evaluation
- Rostoucí problém: 500M+ konverzací, 5M+ agentů v produkci (GrafanaCON 2026)
- Integrace: automatické propojení s Prometheus (metrics), Tempo (traces), AI Observability API
InfraLens
Zero-instrumentation Kubernetes observability postavená na eBPF:
- Repozitář:
github.com/Herenn/Infralens (Apache 2.0, Go)
- Funkce: automatická detekce service-to-service komunikace, vizualizace topologie, AI-powered dokumentace
- Architektura: eBPF agent + Go backend + React frontend
- Status: early-stage (1 star, 10 commitů), ale koncept eBPF-based observability je potvrzený (Grafana Beyla, Cilium Hubble, Pixie)
Ingero
GPU causal observability agent — první svého druhu:
- Repozitář:
github.com/ingero-io/ingero (Apache 2.0)
- Funkce: eBPF tracing od Linux kernel eventů přes CUDA API až po Python zdrojový kód
- Overhead: < 2 %, zero code changes, jeden binární soubor
- MCP server: nativní podpora Model Context Protocol — AI asistenti mohou přímo queryovat GPU data
- Use case: diagnostika GPU stallů, scheduler preemptions, CUDA memory spikes — kauzální řetězce místo prostých metrik
- Verze: v0.19.0 (2026), aktivní vývoj
GreptimeDB
Unified observability databáze — jeden backend pro metrics, logs a tracy:
- Repozitář:
github.com/GreptimeTeam/greptimedb (Apache 2.0, Rust)
- Architektura: compute-storage disaggregation, object storage first (S3, GCS, Azure Blob), columnar storage
- Dotazování: SQL + PromQL v jedné query, možnost JOIN mezi metrikami a logy
- Drop-in náhrada: Prometheus (PromQL, remote write), Loki (Push API), Elasticsearch (bulk API), Jaeger (Query API)
- Cost reduction: až 50× nižší náklady oproti tradičním řešením
- Roadmap 2026: v1.0 GA (Q1 2026), v1.1–v1.3 (Vector Index, AI Functions, Auto Rollup, adaptive resource management)
- GreptimeDB Enterprise: enhanced security, HA, enterprise support
Netdata
Open-source, real-time monitoring platform pro celou infrastrukturu:
- Repozitář:
github.com/netdata/netdata (GPLv3+, C; 79k★)
- Funkce: per-sekundové metriky, ML-based anomaly detection, AI-powered troubleshooting, 800+ integrací
- Zero configuration: auto-discovery, pre-configured alerts, hotové dashboardy
- Architektura: distributed agent → Netdata Cloud (volitelně), data zůstávají lokální
- Energetická efektivita: dle studie University of Amsterdam nejefektivnější nástroj pro monitoring Docker systémů
- Netdata Cloud: free tier (5 node), paid od $12/node/měsíc
- Licencování: agent GPLv3+, dashboard NCUL1, cloud closed-source
Zdroje
Odkazy, knihy a standardy: sources/monitoring/sources.md
Poslední revize: 2026-06-03