Monitorování infrastruktury: sledování dostupnosti a výkonu služeb

Proč sledovat dostupnost a výkon

Monitorování infrastruktury je základním pilířem spolehlivosti IT služeb. Umožňuje včasnou detekci incidentů, měření plnění SLA, plánování kapacity a optimalizaci nákladů. V moderních prostředích (virtualizace, kontejnery, cloud, hybridní) je nezbytné kombinovat více přístupů – blackbox syntetická měření dostupnosti, whitebox metriky z aplikací, logování a distribuované trasování. Tento článek poskytuje komplexní 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 určitého 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ř. dosažitelnost TCP/443, HTTP 2xx).
  • Latence: percentily p50/p90/p95/p99, rozlišení server/klient, time to first byte, DNS lookup, TLS handshake.
  • Chybovost: poměr 5xx chyb, kolize v databázi, saturace front.
  • Kapacita a využití: CPU, paměť, diskové I/O, síť, file descriptors, počet spojení, GC pauzy, velikost front.
  • Byznys metriky: počet transakcí za minutu, míra konverze, opuštění košíku – pro korelaci IT výkonnosti a byznys dopadu.

Blackbox vs. whitebox monitorování

  • Blackbox: syntetické sondy zvenku (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í root-cause analýzu a kapacitní plánování.

Architektura Promethea

  • Pull model: Prometheus pravidelně stahuje metriky z exportérů přes HTTP endpoint /metrics.
  • Časové řady (TSDB): vysoce efektivní ukládání metrik s indexací a downsamplingem; retence dle 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: směrování alertů, inhibition, grouping, deduplikace, tiché režimy, integrace (e-mail, Slack, PagerDuty).
  • Recording rules: předpočítané agregace pro výkon a konzistenci výpočtů SLO.

Prometheus v praxi: exportéry a syntetika

  • Node Exporter pro OS metriky (CPU, RAM, disk, síť).
  • Blackbox Exporter pro HTTP/TCP/ICMP syntetická měření 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 knihovnou).

Architektura Zabbixu

  • Zabbix server: centrální orchestrátor, výpočet triggerů, ukládání do SQL databáze (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 metrik OS, 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ích, kde jsou cíle dynamické, metriky bohaté a je potřeba 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, syntetická měření a taktický alerting; sjednocení vizualizace přes Grafana.

Vizualizace a dashboardy

  • Grafana: standard pro vizualizaci Promethea i Zabbixu (datasource pluginy), podpůrné funkce (proměnné, opakování panelů, 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, byznysové vs. technické pohledy, jasná legenda a prahové hodnoty.

Alerting: jak se vyhnout únavě z alarmů

  • Princip „méně a kvalitněji“: alerty pouze na uživatelský dopad a kapacitní rizika; varování oddělit od informačních metrik.
  • SLO-based alerting: hlášení alertů na porušení SLO a rychlosti čerpání error budgetu, nikoli 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á jasný návod na zásah, 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 detekci anomálií.
  • Syntetická měření: monitorování jitteru a ztrát (ICMP/UDP), dohled nad SLA linkami a VPN.

Logy a trasování: proč nestačí jen metriky

  • Logování: EFK/ELK stack (Elasticsearch/OpenSearch + Fluentd/Fluent Bit + Kibana), korelace s metrikami podle trace-id.
  • Distribuované trasování: OpenTelemetry SDK, Jaeger/Tempo/Zipkin pro end-to-end sledování požadavků a latenci závislostí.
  • Události: auditní logy, bezpečnostní incidenty a jejich návaznost na incident management.

Monitorování Kubernetes a cloudů

  • Kubernetes: kube-state-metrics, cAdvisor, metriky API serveru, etcd; readiness/liveness/startup prozdraví.
  • Cloud provideri: integrace s AWS CloudWatch, Azure Monitor, GCP Operations; ingest do Promethea/Grafany nebo Zabbixu.
  • Autoscaling: HPA/VPA signály z metrik (CPU, vlastní a externí metriky) a jejich vliv na SLO.

Windows, virtualizace a databáze

  • Windows: Zabbix agent/WMI/WinPerf counters; Prometheus windows_exporter.
  • VMware/Hyper-V: Zabbix šablony, vSphere/zabbix-vmware integrace; Prometheus exportéry.
  • Databáze: specializované metriky (locking, 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_linear v PromQL).
  • Cost observability: korelace výkonu a nákladů (export cloudových nákladů do metrik), rozpočty a alerty.
  • Right-sizing: identifikace nadužívání rezerv (CPU limit vs. využití, headroom pro diskové IOPS).

Procesy: incident management a post-mortem

  • Detekce → reakce → obnova: měření MTTD/MTTR, definice komunikačních kanálů a rolí.
  • Bezobviňovací post-mortem: fakta, časová osa, dopad, kořenové příčiny, akční položky, sledování nápravných opatření.
  • 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čení endpointů (mTLS, reverzní proxy), filtrování citlivých dat.
  • Správa dat: politiky uchovávání, anonymizace a mazání v souladu s regulacemi.

Referenční architektury

  • Cloud-native stack: Prometheus + Alertmanager + Grafana, centrální TSDB (Thanos/Cortex/Mimir) pro federaci a dlouhou retenci, Blackbox Exporter na edge, OpenTelemetry pro trasování, EFK pro logy.
  • Enterprise stack: Zabbix Server + Proxy (lokality/datacentra), TimescaleDB pro metriky, šablony pro OS/síť/hypervizor, SNMP discovery, syntetická HTTP/SIP měření, Grafana pro jednotné dashboardy.

Ukázky pravidel alertingu

  • Prometheus (SLO dostupnost): chyba rate >= 1 % po dobu 5 minut a spotřeba error budgetu > 2 % za posledních 24 hodin → page na on-call.
  • Zabbix (kapacita): volné místo na /var méně než 10 % po dobu > 15 minut, závislost na alertu „zálohy běží“ pro potlačení falešných poplachů.

Antivzory a časté chyby

  • Přemíra metrik bez jejich kurátorství a vazby na byznys dopad.
  • Alerty na každé varování místo SLO-based přístupu a korelace kontextu.
  • Chybějící runbooky a eskalace – „co přesně dělat, když zazní alarm?“
  • Nesdílené dashboardy – každé oddělení s vlastním pohledem, postrádá se jednotný „single pane of glass“.

Jak začít a škálovat

  • Definujte SLI a 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í revize alertů, opatření post-mortem, pravidelná údržba metrik.

Závěr

Spolehlivé monitorování vychází z jasně definovaných SLO, kombinace blackbox a whitebox metrik, promyšleného alertingu a disciplíny v incident managementu. Prometheus poskytuje silný základ pro metriky a SLO v cloudovém a Kubernetes prostředí, Zabbix exceluje v tradičním IT, síťové infrastruktuře a centralizaci dohledu. Nejlepší výsledky přináší kombinace těchto nástrojů řízená daty, procesy a kulturou neustálého zlepšování.