Proč sledovat dostupnost a výkon
Monitorování infrastruktury je základním kamenem spolehlivosti IT služeb. Umožňuje včas detekovat incidenty, měřit plnění SLA, plánovat kapacitu a optimalizovat náklady. V moderních prostředích (virtualizace, kontejnery, cloud, hybrid) je nutné kombinovat více přístupů – blackbox syntetická měření dostupnosti, whitebox metriky z aplikací, logování a distribuované trasování. Tento článek poskytuje ucelený přehled metrik, architektur, nástrojů a postupů se zaměřením na Zabbix a Prometheus.
Terminologie: SLA, SLO, SLI a error budget
- SLI (Service Level Indicator): měřitelný ukazatel kvality služby – například dostupnost HTTP 200, latence p95, poměr chyb.
- SLO (Service Level Objective): cílová hodnota pro SLI, např. latence p95 < 200 ms, dostupnost ≥ 99,9 %.
- SLA (Service Level Agreement): smluvně závazná dohoda se sankcemi.
- Error budget: povolený prostor pro nedostupnost či chyby v rámci období; řídí tempo změn a riziko.
Typy metrik: dostupnost, latence, chybovost, kapacita
- Dostupnost: binární výsledek syntetického testu nebo uptime služby (např. TCP/443 reachability, HTTP 2xx).
- Latence: p50/p90/p95/p99, rozlišení server/klient, time to first byte, DNS lookup, TLS handshake.
- Chybovost: rate 5xx, kolize v DB, saturace front.
- Kapacita a využití: CPU, paměť, disk I/O, síť, file descriptors, konekce, GC pauzy, velikost front.
- Byznys metriky: transakce/min, míra konverze, opuštění košíku – pro korelaci IT a dopadu.
Blackbox vs. whitebox monitorování
- Blackbox: syntetické sondy zvenku (HTTP, ICMP, TCP). Odpovídají na otázku „z pohledu uživatele je to dostupné?“
- Whitebox: metriky z aplikací a infrastruktury (exportéry, integrace SDK). Umožňují root-cause analýzu a kapacitní plánování.
Architektura Promethea
- Pull model: Prometheus periodicky stahuje metriky z exportérů přes HTTP endpoint
/metrics. - Časové řady (TSDB): vysoce efektivní ukládání metrik s indexy a downsamplingem; retence podle potřeby.
- Service discovery: dynamické vyhledávání cílů (Kubernetes, Consul, cloud provideri, statické cíle).
- PromQL: dotazovací jazyk pro výpočty SLI, kvantily, rate, predikce saturace.
- Alertmanager: routing alertů, inhibition, grouping, deduplikace, tiché režimy, integrace (e-mail, Slack, PagerDuty).
- Recording rules: předpočítané agregace pro výkon a konzistenci SLO výpočtů.
Prometheus v praxi: exportéry a syntetika
- Node Exporter pro OS metriky (CPU, RAM, disk, síť).
- Blackbox Exporter pro HTTP/TCP/ICMP syntetiku a TLS expiraci.
- kube-state-metrics a cAdvisor pro Kubernetes (stav objektů, kontejnery, limity/requests).
- DB exportéry (PostgreSQL, MySQL, Redis) a aplikační SDK (instrumentace knihovnou).
Architektura Zabbixu
- Zabbix server: centrální orchestrátor, výpočty triggerů, ukládání do SQL DB (MySQL/PostgreSQL/TimescaleDB).
- Zabbix proxy: distribuované sbírání metrik v odlehlých lokalitách, odolnost vůči výpadkům konektivity.
- Zabbix agent/agent2: aktivní i pasivní režim, sběr OS metrik, logů, low-level discovery.
- Šablony a LLD: předpřipravené objekty, automatická detekce rozhraní/disků/služeb.
- Triggery a akce: výrazové podmínky, závislosti, eskalace, notifikace a automatické nápravné kroky.
Prometheus vs. Zabbix: kdy který nástroj
- Prometheus: exceluje v cloud-native a Kubernetes prostředí, kde jsou cíle dynamické, metriky bohaté a potřebujete PromQL pro SLO.
- Zabbix: vyniká v tradičním IT (servery, sítě, Windows/VMware, SNMP), s bohatou autodetekcí, šablonami a centrálním UI bez nutnosti dalších komponent.
- Kombinace: Prometheus pro metriky a SLO, Zabbix pro inventář, SNMP, syntetiku a taktické alerty; sjednocení vizualizace přes Grafana.
Vizualizace a dashboardy
- Grafana: standard pro vizualizaci Promethea i Zabbixu (datasource pluginy), podpůrné funkce (variables, repeat panels, alerting).
- Zabbix UI: nativní mapy, widgety, SLA panely, problem view s historií a korelací.
- Best practices: přehledové NOC panely, drill-down do služeb, byznys vs. technické pohledy, jasná legenda a prahové hodnoty.
Alerting: jak se vyhnout únavě z alarmů
- Princip „méně a kvalitněji“: alerty jen na uživatelský dopad a kapacitní rizika; varování oddělit od informačních metrik.
- SLO-based alerting: alertujte na porušení SLO rychlosti spotřeby error budgetu, nikoliv na jednotlivé výkyvy.
- Routing a eskalace: různé kanály pro různé priority, quiet hours, on-call kalendáře, automatické potlačení duplicit.
- Runbooky: každý alert má návod na zásah, odkazy na dashboardy a metriky.
Monitorování sítí: SNMP, NetFlow/sFlow a NPMD
- SNMP: Zabbix nativně, inventář zařízení, rozhraní, chybovost, teplota, napájení.
- Toky: NetFlow/sFlow/IPFIX pro analýzu zátěže a anomálií.
- Syntetika: měření jitteru a ztrát (ICMP/UDP), dohled SLA linek a VPN.
Logy a trasování: proč nestačí jen metriky
- Logování: EFK/ELK (Elasticsearch/OpenSearch + Fluentd/Fluent Bit + Kibana), korelace s metrikami podle trace-id.
- Distribuované trasování: OpenTelemetry SDK, Jaeger/Tempo/Zipkin pro end-to-end requesty a latenci závislostí.
- Události: audit logy, bezpečnostní události a jejich vazba na incidenty.
Monitorování Kubernetes a cloudů
- Kubernetes: kube-state-metrics, cAdvisor, API server, etcd metriky; readiness/liveness/startup proz.
- Cloud provideri: integrace s AWS CloudWatch, Azure Monitor, GCP Operations; ingest do Promethea/Grafany nebo Zabbixu.
- Autoscaling: HPA/VPA signály z metrik (CPU, custom a externí metriky) a jejich dopad na SLO.
Windows, virtualizace a databáze
- Windows: Zabbix agent/WMI/WinPerf counters; Prometheus windows_exporter.
- VMware/Hyper-V: Zabbix šablony, vSphere/zabbix-vmware; Prometheus exportéry.
- Databáze: specializované metriky (locky, buffer cache hit ratio, replikační lag, dlouhé dotazy) a query sampling.
Kapacitní plánování a optimalizace
- Trendování: dlouhodobé metriky, sezónnost, predikce saturace (Holt-Winters,
predict_linearv PromQL). - Cost observability: korelace výkonu a nákladů (cloud billing export do metrik), rozpočty a alerty.
- Right-sizing: identifikace nadužívání rezerv (CPU limit vs. usage, disk IOPS headroom).
Procesy: incident management a post-mortem
- Detekce → reakce → obnovy: měřte MTTD/MTTR, definujte komunikační kanály a role.
- Bezvinené post-mortem: fakta, časová osa, dopad, kořenové příčiny, akční položky, sledování nápravy.
- Chaos engineering: řízené testy odolnosti, validace alertů a runbooků.
Bezpečnost a compliance v monitoringu
- Přístup: RBAC, oddělení rolí, auditní stopy, šifrování v přenosu i v klidu.
- Expozice metrik: zabezpečte endpoints (mTLS, reverse proxy), filtrujte citlivá data.
- Data retention: politiky uchovávání, anonymizace a mazání podle regulace.
Referenční architektury
- Cloud-native stack: Prometheus + Alertmanager + Grafana, centralní TSDB (Thanos/Cortex/Mimir) pro federaci a dlouhou retenci, Blackbox Exporter na edge, OpenTelemetry pro tracing, EFK pro logy.
- Enterprise stack: Zabbix Server + Proxy (lokality/datacentra), TimescaleDB pro metriky, šablony pro os/síť/hypervizor, SNMP discovery, syntetika HTTP/SIP, Grafana pro jednotné dashboardy.
Ukázky pravidel alertingu
- Prometheus (SLO dostupnost): chyba rate >= 1 % po 5 min a spotřeba error budgetu > 2 % za poslední den → page on-call.
- Zabbix (kapacita): volné místo na
/var< 10 % po dobu > 15 min, závislost na alertu „zálohy běží“ pro potlačení falešných poplachů.
Antivzory a časté chyby
- Přemíra metrik bez kurátorství a bez vazby na byznys dopad.
- Alerty na každé varování místo SLO-based přístupu a korelace.
- Chybějící runbooky a eskalace – „co přesně mám dělat, když to pípne?“
- Nesdílené dashboardy – každý tým jiný pohled, chybí jednotné „single pane of glass“.
Jak začít a škálovat
- Definujte SLI/SLO pro klíčové služby, vytvořte první SLO dashboard.
- Zaveďte konzistentní export metrik a tagování/labeling (služba, prostředí, verze, region).
- Automatizujte nasazení monitoringu (Infrastructure as Code), policy-as-code pro alerty a SLO.
- Iterujte: měsíční review alertů, post-mortem akce, pravidelný úklid metrik.
Závěr
Spolehlivé monitorování stojí na jasně definovaných SLO, kombinaci blackbox a whitebox metrik, promyšleném alertingu a disciplíně incident managementu. Prometheus poskytuje silný základ pro metriky a SLO ve světě cloudu a Kubernetes, Zabbix exceluje v tradičním IT, síťové infrastruktuře a centralizaci dohledu. Vítězí kombinace nástrojů, která je řízena daty, procesy a kulturou neustálého zlepšování.