Proč Zabbix pro komplexní monitoring
Zabbix je otevřená platforma pro end-to-end monitoring infrastruktury, aplikací i obchodních služeb. Kombinuje sběr metrik prostřednictvím agenta i bez agenta, SNMP, IPMI, JMX, logy, syntetické testy, zpracování událostí, korelaci, analýzu hlavní příčiny a automatizovaná upozornění s eskalacemi. Díky škálovatelné architektuře (proxy, procesy poller, history cache) a robustnímu API se hodí pro malé instalace i globální prostředí s desítkami tisíc hostů.
Architektura a provozní topologie
- Zabbix Server: jádro systému, zodpovědné za plánování dotazů, vyhodnocování triggerů, ukládání historie a událostí, generování upozornění a integraci s externími médii.
- Proxy: odlehčují centrálnímu serveru; sbírají data v pobočkách či segmentech s omezenou konektivitou, ukládají je do lokální databáze a periodicky synchronizují. Umožňují ukládání dat při výpadku spojení.
- Agent/Agent2: běží na monitorovaných hostech, poskytují desítky klíčů (CPU, disk, síť, procesy, logy), podporují pluginy (Docker, PostgreSQL, Nginx, čítače výkonu Windows) a aktivní i pasivní režim.
- Databáze: MariaDB/MySQL, PostgreSQL (doporučeno), případně TimescaleDB pro kompresi a dělení trendů na oddíly.
- Frontend: webové uživatelské rozhraní, dashboardy, mapy, topologie, monitoring obchodních služeb (BSM) a konfigurace.
Model dat: položky, triggry, události a problémy
- Položky: definují zdroj a typ metrik (zabbix agent, SNMP, HTTP, trapper, dependent, calculated, JMX, IPMI, script).
- Předzpracování: parsování JSON/CSV/regex, převody jednotek, normalizace časových razítek, validace; možnost zahodit nezměněné hodnoty s kontrolním intervalem pro úsporu prostředků.
- Triggery: logika stavu, např.
avg(/host/cpu.load,5m)>2, se závislostmi, hysterezí a prioritami. Výsledek generuje událost, která může přejít do stavu problém a následně v pořádku. - Štítky: klíčové pro směrování upozornění, korelaci a BSM; např.
service=checkout,env=prod,region=eu.
Škálování: procesy, fronty a cache
- Pollery, trappers, alertery: horizontální škálování zvýšením počtu procesů; sledujte metriky busy % a latenci.
- Vrstvy cache: history cache, value cache, trend cache; jejich velikost zvyšujte podle počtu promarněných přístupů do cache.
- Housekeeper: řízená retence historie, trendů, událostí a auditních záznamů; naplánujte jeho činnost mimo špičku.
- Vrstvení proxy: více úrovní proxy v rozsáhlých sítích WAN; oddělení domén poruchy a sítí s vysokou latencí.
Šablony (Templates) a Low-Level Discovery (LLD)
- Šablony: opakovaně použitelné sady položek, triggerů, grafů a aplikací; parametry mapujte pomocí maker (např.
{$CPU.MAX}). - LLD: automaticky objevuje entity (disky, síťová rozhraní, služby, kontejnery, tabulky v databázi) a generuje prototypy položek a triggerů.
- Parametrizace: upravte prahy pro jednotlivé hosty či skupiny pomocí maker, jako je
{$THRESHOLD}, a kontextových maker.
Agent vs. bez agenta: kdy co použít
- Agent(2): nízká latence, bohatá nabídka klíčů, monitoring logů, aktivní kontroly; ideální pro operační systémy a aplikace s pluginy.
- SNMP: síťové prvky, tiskárny, UPS; kombinujte s MIB a LLD tabulek; upřednostňujte hromadné dotazy.
- JMX/IPMI: aplikace Java a serverový hardware (senzory, teploty, ventilátory).
- HTTP agent: syntetické testy API, extrakce JSON a dohled nad SLA. Podporuje ověřování, hlavičky a TLS.
- Trapper/sender: odesílání metrik z CI/CD, aplikací a bezserverových funkcí (
zabbix_sender).
Integrace s cloudy a kontejnery
- Kubernetes: Zabbix Agent2 v DaemonSetu + plugin Docker/K8s; LLD pro pody, služby, uzly; metriky z cAdvisor či API serveru; mapování
namespacena štítky. - Cloudové zdroje: monitoring AWS/Azure/GCP prostřednictvím HTTP agenta (CloudWatch/Monitor/Cloud Monitoring API), externích kontrol nebo integračních šablon; dotazování s ohledem na náklady (cost-aware; delší intervaly, ukládání tokenů do cache).
- Exportéry Promethea: příjem prostřednictvím HTTP agenta a předzpracování; případně kombinace s Prometheem (federace) a zobrazení v dashboardech Zabbixu.
Logy, syntetické testy a pohled uživatele
- Monitoring logů:
log[]/logrt[]s filtry regexp, pozicemi v souboru a detekcí vzorů; označujteseverityz logu. - Syntetické testy: scénáře HTTP(S), měření TTFB/latencí, ověřování kódů a obsahu; pro více kroků využijte webové scénáře.
- Uživatelská zkušenost: geograficky distribuované kontroly prostřednictvím proxy v jednotlivých regionech; korelujte je s metrikami backendu.
Korelace, závislosti a omezení šumu v upozorněních
- Závislosti: definujte závislost okraj → jádro → nadřazená síť (např. host vs. router vs. internet), abyste potlačili kaskádu upozornění.
- Pravidla korelace událostí: automatické potvrzení duplicit, slučování pravidelně se opakujících událostí, zkracování MTTR.
- Více prahů a hystereze: zabrání častému přepínání stavů (např. Problém při P95>300 ms, V pořádku při P95<250 ms).
Upozornění, eskalace a provozní postupy
- Typy médií: e-mail, SMS, chat (Slack, Teams), webhook pro správu incidentů (PagerDuty, Opsgenie, ServiceNow, Jira).
- Eskalace: více úrovní podle doby bez reakce, časová okna (služební pohotovost), ztišení během údržby.
- Automatická náprava: vzdálené příkazy (restart služby, škálování), ověřené provozní postupy s bezpečnými proměnnými.
Monitoring obchodních služeb (BSM)
- Model služby: skládání technických signálů do obchodních služeb (např. Checkout) s váhami, dopady a SLA.
- Vykazování SLA/SLO: výpočet dostupnosti, časová okna penalizací, měsíční a roční reporty, export do nástrojů pro správu.
- Mapy a závislosti: vizuální grafy služeb s indikací problémů a promítáním stavu na „obchodní“ úroveň.
Bezpečnost a přístup
- Řízení přístupu na základě rolí (RBAC): podrobné nastavení oprávnění pro skupiny hostů, hosty, dashboardy a akce; uživatelské role a uživatelské skupiny.
- Šifrování: TLS mezi serverem, proxy a agentem; ověřujte certifikáty a názvy hostitelů.
- Správa tajných údajů: makra s hesly ukládejte jako tajná makra, auditujte přístupy a změny konfigurace.
Výkon databáze: historie, trendy a retence
- Historie vs. trendy: historie pro podrobné časové rozlišení (sekundy/minuty), trendy pro agregace (hodinové/denní). Retenci nastavte podle hodnoty dat.
- Dělení na oddíly a komprese: TimescaleDB pro automatické vytváření datových bloků a kompresi starších trendů.
- Optimalizace dotazů: indexy na events, acknowledges, history_uint/history; pravidelná údržba (VACUUM/ANALYZE).
Automatizace a API
- JSON-RPC API: automatizovaná správa hostů, šablon, hromadné aktualizace; napojení na CMDB a správu majetku.
- Objevování a zprovozňování: automatické objevování sítě, hromadné dotazy SNMP, pravidla pro automatické přiřazování šablon, skupin a proxy.
- Infrastruktura jako kód: verzujte šablony a dashboardy (export YAML/JSON), pomocí CI ověřujte importy.
Praktické šablony a vzory
- Operační systémy a hypervizory: Linux/Windows, VMware vSphere, Hyper-V, KVM; sledování CPU steal, I/O wait a latencí úložiště.
- Databáze: PostgreSQL, MySQL, MS SQL – aktivní metriky (checkpoint, bloat, pomalé dotazy) a metriky BSM (P95/P99 aplikací).
- Web a API: Nginx/Apache, Node.js/Java; scénáře HTTP, chybovost 5xx, latence, pooly, GC, fondy vláken.
- Síť: směrovací tabulky, relace BGP/OSPF, chyby/zahozené pakety na rozhraních, QoS a zaplnění bufferů.
Dashboardy, vizualizace a mapy
- Widgety: grafy, jednotlivá hodnota, top N, mapy, zobrazení problémů, stav služby.
- Pohledy podle rolí: obrazovka NOC pro operátory, pohled na služby pro manažery, podrobná analýza pro SRE.
- Integrace s Grafanou: zásuvný modul zdroje dat a kombinace obchodních metrik s telemetrií.
Vysoká dostupnost, zálohování a obnova
- Vysoká dostupnost databáze a serveru: PostgreSQL s replikací (Patroni, Stolon), Zabbix Server v aktivně-pasivním režimu za virtuální IP adresou nebo nástrojem pro vyvažování zátěže.
- Zálohy: výpis konfigurace (export), snímky databáze, test obnovy v izolovaném prostředí; pro opětovnou synchronizaci zachovejte historii proxy.
- Testy zotavení po havárii: pravidelná cvičení, metriky RTO/RPO, zdokumentované postupy.
Bezpečnostní monitoring a monitoring souladu s předpisy
- Integrita souborů a audit: kontrola kontrolních součtů kritických souborů, přihlášení, akcí sudo; korelace se SIEM.
- Certifikáty a expirace: HTTP agent kontroluje expiraci TLS certifikátů a dostupnost CRL/OCSP; trigger upozorní před koncem platnosti.
- Konfigurační baseline: porovnání klíčových parametrů (sysctl, registr) a detekce odchylek.
Osvědčené postupy pro stabilní provoz
- Oddělte instance pro produkci, staging a testovací prostředí; šablony exportujte a importujte prostřednictvím verzovaného repozitáře.
- Nastavte retenci a housekeeping dříve, než se databáze zaplní; sledujte history cache a frontu.
- Standardizujte štítky, závažnosti a pojmenování položek, aby směrování a korelace byly jednoznačné.
- Udržujte filtry LLD, aby se neobjevovaly efemérní entity (např. dočasné pody) bez přidané hodnoty.
- Pravidelně revidujte prahy pomocí percentilů (P95/P99), nikoli statických hodnot.
Typické chyby a jak se jim vyhnout
- Příliš časté dotazování bez potřeby → zbytečná zátěž databáze a front; používejte kontrolní interval a zahazování nezměněných hodnot.
- Chybějící závislosti mezi triggery → lavina upozornění při výpadku linky.
- Neřízený růst kontrol logů → fragmentace úložiště; kontroly slučujte a filtrujte.
- Jedna rozsáhlá instance bez proxy → latence, výpadky při údržbě WAN; zaveďte domény proxy.
- Makra s tajnými údaji v prostém textu → používejte tajná makra a RBAC.
Kontrolní seznam implementace
- Navržená topologie (server + proxy) a velikost cache/počet procesů.
- Vybraný databázový stroj, retence a případná komprese Timescale.
- Standard pro šablony, štítky, závažnosti a pojmenování položek.
- LLD pro klíčové technologie a filtry pro efemérní zdroje.
- Typy médií pro upozornění, eskalace, kalendáře služební pohotovosti.
- Model BSM a definice SLA/SLO.
- Bezpečnost: TLS, RBAC, tajná makra, audit.
- Plán vysoké dostupnosti a zotavení po havárii, zálohy a pravidelné obnovy.
- Monitorování samotného Zabbixu: metriky fronty, vytížení a prodlevy databáze.
Závěr
Zabbix umožňuje vybudovat komplexní, škálovatelný a bezpečný monitoring napříč servery, sítěmi, kontejnery, cloudy i obchodními službami. Klíčem je disciplinovaný návrh šablon, promyšlená topologie s proxy, důsledná práce se štítky, korelace a automatizace prostřednictvím API. Získáte tak spolehlivý systém s nízkým šumem, rychlou detekcí a řešením problémů (nízkými hodnotami MTTD/MTTR) a jasným přehledem od infrastruktury až po dopad na byznys.
