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, hybridní prostředí) je nutné kombinovat více přístupů – syntetická měření dostupnosti typu blackbox, metriky z aplikací typu whitebox, 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 daném období; řídí tempo změn a míru rizika.
Typy metrik: dostupnost, latence, chybovost, kapacita
- Dostupnost: binární výsledek syntetického testu nebo doba dostupnosti služby (např. dostupnost TCP/443, HTTP 2xx).
- Latence: p50/p90/p95/p99, rozlišení server/klient, time to first byte, DNS lookup, TLS handshake.
- Chybovost: míra chyb 5xx, kolize v DB, saturace front.
- Kapacita a využití: CPU, paměť, diskové I/O, síť, file descriptors, spojení, pauzy GC, velikost front.
- Byznysové metriky: transakce/min, míra konverze, opuštění košíku – pro korelaci IT a jeho dopadu.
Blackbox vs. whitebox monitorování
- Blackbox: syntetické sondy zvenčí (HTTP, ICMP, TCP). Odpovídají na otázku „je služba dostupná z pohledu uživatele?“
- Whitebox: metriky z aplikací a infrastruktury (exportéry, integrace SDK). Umožňují analýzu root cause a plánování kapacity.
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, cloudoví poskytovatelé, statické cíle).
- PromQL: dotazovací jazyk pro výpočty SLI, kvantily, rate a predikce saturace.
- Alertmanager: směrování alertů, inhibition, grouping, deduplikace, tiché režimy, integrace (e-mail, Slack, PagerDuty).
- Recording rules: předpočítané agregace pro vyšší výkon a konzistentní výpočty SLO.
Prometheus v praxi: exportéry a syntetická měření
- Node Exporter pro metriky operačního systému (CPU, RAM, disk, síť).
- Blackbox Exporter pro syntetická měření HTTP/TCP/ICMP a expiraci TLS certifikátů.
- kube-state-metrics a cAdvisor pro Kubernetes (stav objektů, kontejnery, limity/requests).
- DB exportéry (PostgreSQL, MySQL, Redis) a aplikační SDK (instrumentace pomocí knihovny).
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 metrik ve vzdálených lokalitách, odolnost vůči výpadkům konektivity.
- Zabbix agent/agent2: aktivní i pasivní režim, sběr metrik operačního systému, 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 prostředích cloud-native a Kubernetes, kde jsou cíle dynamické, metriky bohaté a pro SLO potřebujete PromQL.
- Zabbix: vyniká v tradičním IT (servery, sítě, Windows/VMware, SNMP), nabízí bohatou autodetekci, šablony a centrální UI bez nutnosti dalších komponent.
- Kombinace: Prometheus pro metriky a SLO, Zabbix pro inventář, SNMP, syntetická měření a taktické alerty; sjednocení vizualizace prostřednictvím Grafany.
Vizualizace a dashboardy
- Grafana: standard pro vizualizaci Promethea i Zabbixu (zásuvné moduly datasource), podpůrné funkce (variables, repeat panels, alerting).
- Zabbix UI: nativní mapy, widgety, panely SLA, problem view s historií a korelací.
- Osvědčené postupy: přehledové panely NOC, podrobné zobrazení služeb, byznysové vs. technické pohledy, jasná legenda a prahové hodnoty.
Alerting: jak se vyhnout únavě z alarmů
- Princip „méně a kvalitněji“: alerty pouze při dopadu na uživatele a kapacitních rizicích; varování oddělte od informačních metrik.
- Alerting založený na SLO: upozorňujte na porušení SLO a rychlost čerpání error budgetu, nikoli na jednotlivé výkyvy.
- Směrování a eskalace: různé kanály pro různé priority, quiet hours, pohotovostní rozpisy, automatické potlačování duplicit.
- Runbooky: každý alert má návod k zásahu a odkazy na dashboardy a metriky.
Monitorování sítí: SNMP, NetFlow/sFlow a NPMD
- SNMP: nativní podpora v Zabbixu, inventář zařízení, rozhraní, chybovost, teplota, napájení.
- Toky: NetFlow/sFlow/IPFIX pro analýzu zátěže a anomálií.
- Syntetická měření: měření jitteru a ztrát (ICMP/UDP), dohled nad 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 trasování požadavků end-to-end a latenci závislostí.
- Události: auditní logy, bezpečnostní události a jejich vazba na incidenty.
Monitorování Kubernetes a cloudů
- Kubernetes: kube-state-metrics, cAdvisor, metriky API serveru a etcd; proby readiness/liveness/startup.
- Cloudoví poskytovatelé: integrace s AWS CloudWatch, Azure Monitor, GCP Operations; ingest do Promethea/Grafany nebo Zabbixu.
- Autoscaling: signály HPA/VPA z metrik (CPU, vlastní a externí metriky) a jejich dopad na SLO.
Windows, virtualizace a databáze
- Windows: Zabbix agent/WMI/čítače WinPerf; Prometheus windows_exporter.
- VMware/Hyper-V: šablony Zabbixu, vSphere/zabbix-vmware; exportéry Promethea.
- Databáze: specializované metriky (zámky, poměr zásahů do buffer cache, replikační prodleva, dlouhé dotazy) a query sampling.
Plánování kapacity a optimalizace
- Trendování: dlouhodobé metriky, sezónnost, predikce saturace (Holt-Winters,
predict_linearv PromQL). - Cost observability: korelace výkonu a nákladů (export cloudového vyúčtování do metrik), rozpočty a alerty.
- Right-sizing: identifikace nadměrně rezervovaných zdrojů (limit CPU vs. využití, rezerva diskových IOPS).
Procesy: řízení incidentů a post-mortem
- Detekce → reakce → obnova: měřte MTTD/MTTR, definujte komunikační kanály a role.
- Post-mortem bez hledání viníka: fakta, časová osa, dopad, kořenové příčiny, úkoly k nápravě, sledování jejich plnění.
- Chaos engineering: řízené testy odolnosti, ověření alertů a runbooků.
Bezpečnost a compliance v monitoringu
- Přístup: RBAC, oddělení rolí, auditní stopy, šifrování při přenosu i v klidu.
- Expozice metrik: zabezpečte endpointy (mTLS, reverse proxy), filtrujte citlivá data.
- Data retention: zásady uchovávání, anonymizace a mazání v souladu s regulací.
Referenční architektury
- Cloud-native stack: Prometheus + Alertmanager + Grafana, centrální TSDB (Thanos/Cortex/Mimir) pro federaci a dlouhou retenci, Blackbox Exporter na okraji sítě, OpenTelemetry pro trasování, EFK pro logy.
- Enterprise stack: Zabbix Server + Proxy (lokality/datacentra), TimescaleDB pro metriky, šablony pro operační systémy/sítě/hypervizory, SNMP discovery, syntetická měření HTTP/SIP, Grafana pro jednotné dashboardy.
Ukázky pravidel alertingu
- Prometheus (SLO dostupnosti): míra chyb >= 1 % po dobu 5 min a čerpání error budgetu > 2 % za poslední den → page pohotovostní službě.
- 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átorského výběru a bez vazby na dopad na byznys.
- Alerty na každé varování místo přístupu založeného na SLO a korelaci.
- Chybějící runbooky a eskalace – „co přesně mám dělat, když to pípne?“
- Nesdílené dashboardy – každý tým 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í dashboard SLO.
- Zaveďte konzistentní export metrik a tagování/označování (služba, prostředí, verze, region).
- Automatizujte nasazování monitoringu (Infrastructure as Code), policy-as-code pro alerty a SLO.
- Iterujte: měsíční revize alertů, úkoly z post-mortemů, pravidelný úklid metrik.
Závěr
Spolehlivé monitorování stojí na jasně definovaných SLO, kombinaci metrik typu blackbox a whitebox, promyšleném alertingu a disciplinovaném řízení incidentů. 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ů řízená daty, procesy a kulturou neustálého zlepšování.
