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 agent/agentless, SNMP, IPMI, JMX, logy, syntetické testy, event processing, korelaci, root cause analýzu a automatizované notifikace s eskalacemi. Díky škálovatelné architektuře (proxy, poller procesy, history cache) a robustnímu API se hodí od malých instalací po 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ů, evaluaci triggerů, ukládání historie a událostí, generování upozornění a integraci s externími médii.
- Proxy: odlehčují centrální server; sbírají data v pobočkách či segmentech s omezenou konektivitou, ukládají do lokální DB a periodicky synchronizují. Umožňují offline buffering.
- Agent/Agent2: běží na monitored hostech, poskytuje desítky key (CPU, disk, síť, procesy, logy), podporuje plugins (Docker, PostgreSQL, Nginx, Windows performance counters) a aktivní i pasivní režim.
- Databáze: MariaDB/MySQL, PostgreSQL (doporučeno), případně TimescaleDB pro kompresi a partitioning trendů.
- Frontend: webové UI, dashboardy, maps, topology, Business Service Monitoring (BSM) a konfigurace.
Model dat: položky, triggrey, události a problémy
- Items: definují zdroj a typ metrik (zabbix agent, SNMP, HTTP, trapper, dependent, calculated, JMX, IPMI, script).
- Preprocessing: parsování JSON/CSV/regex, převody jednotek, normalizace časových razítek, validace; discard unchanged with heartbeat pro úsporu.
- Triggers: logika stavu např.
avg(/host/cpu.load,5m)>2, se závislostmi, hysterézí a prioritami. Výsledek generuje událost, která může přejít do stavu problem a následně ok. - Tags: klíčové pro směrování notifikací, korelaci a BSM; např.
service=checkout,env=prod,region=eu.
Škálování: procesy, fronty a cache
- Pollers, trappers, alerters: horizontální škálování zvýšením počtu procesů; sledujte metriky busy % a latency.
- Cache vrstvy: history cache, value cache, trend cache; zvětšujte podle cache misses.
- Housekeeper: řízená retence historie, trendů, událostí a auditních záznamů; plánujte mimo špičku.
- Proxy tiering: více úrovní proxy v rozsáhlých WAN; oddělení domén poruchy a sítí s vysokou latencí.
Šablony (Templates) a Low-Level Discovery (LLD)
- Templates: znovupoužitelné sady items, triggerů, grafů a applications; mapujte parametry přes macros (např.
{$CPU.MAX}). - LLD: automaticky objevuje entity (disky, síťová rozhraní, služby, kontejnery, tabulky v DB) a generuje prototypy položek a triggerů.
- Parameterizace: přenastavte prahy per host či skupinu pomocí
{$THRESHOLD}-maker a context macros.
Agent vs. agentless: kdy co použít
- Agent(2): nízká latence, bohaté klíče, log monitoring, aktivní kontrola; ideální pro OS a aplikace s pluginy.
- SNMP: síťové prvky, tiskárny, UPS; kombinujte s MIB a LLD tabulek; preferujte bulk dotazy.
- JMX/IPMI: Java aplikace a serverový hardware (senzory, teploty, ventilátory).
- HTTP agent: syntetické testy API, extrakce JSON a SLA dohled. Podporuje auth, hlavičky, TLS.
- Trapper/sender: push metrik z CI/CD, aplikací a serverless funkcí (
zabbix_sender).
Integrace s cloudy a kontejnery
- Kubernetes: Zabbix Agent2 v DaemonSetu + plugin Docker/K8s; LLD pro pods, services, nodes; metriky z cAdvisor či API serveru; mapování
namespacena tags. - Cloud zdroje: monitoring AWS/Azure/GCP přes HTTP agent (CloudWatch/Monitor/Cloud Monitoring API), external checks nebo integrační šablony; cost-aware polling (delší intervaly, caching tokenů).
- Prometheus exportery: ingest přes HTTP agent a preprocessing; nebo kombinace s Prometheen (federace) a zobrazení v Zabbix dashboards.
Logy, syntetika a uživatelský pohled
- Log monitoring:
log[]/logrt[]s regexp filtry, offsety a detekcí patternů; tagujteseverityz logu. - Syntetické testy: HTTP(S) scénáře, měření TTFB/latencí, ověřování kódů a obsahu; pro více kroků využijte web scenarios.
- End-user experience: geodistribuované kontroly přes proxy v regionech; korelujte s backend metrikami.
Korelace, závislosti a redukce alert noise
- Dependencies: definujte závislost edge → core → upstream (např. host vs. router vs. internet) pro potlačení kaskády alertů.
- Event correlation rules: automatické ack duplicit, slučování periodicky se opakujících událostí, zkracování MTTR.
- Multiple thresholds a hysteréze: zabrání flappingu (např. Problem při P95>300 ms, OK při P95<250 ms).
Notifikace, eskalace a runbooky
- Media types: e-mail, SMS, chat (Slack, Teams), webhook na incident management (PagerDuty, Opsgenie, ServiceNow, Jira).
- Eskalace: více úrovní dle času bez reakce, kalendářní okna (on-call rota), ztišení během údržby.
- Auto-remediation: remote commands (restart služby, škálování), ověřené runbooky s bezpečnými proměnnými.
Business Service Monitoring (BSM)
- Model služby: skládání technických signálů do obchodních služeb (např. Checkout) s váhami, dopady a SLA.
- SLA/SLO reporting: výpočet dostupnosti, penalizační okna, měsíční a roční reporty, export do management nástrojů.
- Mapy a závislosti: vizuální grafy služeb s indikací problémů a propagací stavu na „business“ úroveň.
Bezpečnost a přístup
- Role-based Access Control (RBAC): granularita na skupiny hostů, hosty, dashboardy a akce; user roles a user groups.
- Šifrování: TLS mezi serverem, proxy a agentem; ověřujte certifikáty a hostname.
- Secret hygiene: makra s hesly ukládejte jako secret macros, auditujte přístupy a změny konfigurace.
Výkon DB: historie, trendy a retence
- History vs. Trends: historie pro detailní granularitu (sekundy/minuty), trendy pro agregace (hodinové/denní). Nastavte retence dle hodnoty dat.
- Partitioning a komprese: TimescaleDB pro automatické chunky 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: generativní správa hostů, šablon, mass-update; napojení na CMDB a asset management.
- Discovery a provisioning: síťové auto-discovery, SNMP bulk dotazy, pravidla pro automatické přiřazení šablon, skupin a proxy.
- Infrastructure as Code: verziujte šablony a dashboardy (export YAML/JSON), CI pro validaci importů.
Praktické šablony a vzory
- OS a hypervizory: Linux/Windows, VMware vSphere, Hyper-V, KVM; sledování CPU steal, I/O wait, latencí storage.
- Databáze: PostgreSQL, MySQL, MS SQL – aktivní metriky (checkpoint, bloat, slow queries) a BSM metriky (aplikace P95/P99).
- Web a API: Nginx/Apache, Node.js/Java; HTTP scénáře, chybovost 5xx, latence, pooly, GC, thread pools.
- Síť: routovací tabulky, BGP/OSPF session, interface errors/discards, QoS a buffer occupancy.
Dashboards, vizualizace a mapy
- Widgety: grafy, single value, top N, mapy, problem view, service health.
- Role-specifické náhledy: NOC wall pro operátory, service view pro manažery, deep dive pro SRE.
- Integrace s Grafana: datasource plugin a kombinace business metrik s telemetrií.
HA, zálohování a obnova
- HA pro DB a server: PostgreSQL s replikací (Patroni, Stolon), Zabbix Server v aktivně-pasivním módu za virtuálním IP/load balancerem.
- Zálohy: dump konfigurace (export), DB snapshoty, test obnovy do izolovaného prostředí; zachovejte proxy history pro re-sync.
- DR testy: pravidelné cvičení, metriky RTO/RPO, dokumentované postupy.
Bezpečnostní a compliance monitoring
- File integrity a audit: kontrola checksum kritických souborů, logins, sudo akce; korelace s SIEM.
- Certifikáty a expirace: HTTP agent kontroluje TLS expirace, CRL/OCSP dostupnost; trigger před koncem platnosti.
- Konfigurační baseline: porovnání klíčových parametrů (sysctl, registry) a drift detekce.
Best practices pro stabilní provoz
- Oddělte produkci, staging a lab instance; export/import šablon přes verzovaný repozitář.
- Nastavte retenci a housekeeping dříve, než se DB zaplní; sledujte history cache a queue.
- Standardizujte tagy, severities a názvosloví itemů, aby routing a korelace byly deterministické.
- Udržujte LLD filtry, aby se neobjevovaly efemérní entity (např. dočasné pods) bez přidané hodnoty.
- Periodicky revidujte prahy pomocí percentilů (P95/P99), nikoli statických hodnot.
Typické chyby a jak se jim vyhnout
- Příliš častý polling bez potřeby → zbytečná zátěž DB a front; používejte heartbeat a discard unchanged.
- Chybějící závislosti mezi triggery → alert storm při výpadku linky.
- Neřízený růst log kontrol → fragmentace storage; konsolidujte a filtrujte.
- Jedna masivní instance bez proxy → latence, výpadky při údržbě WAN; zaveďte proxy domény.
- Makra s tajemstvími v plain textu → používejte secret macros a RBAC.
Implementační checklist
- Navržená topologie (server + proxy) a velikosti cache/procesů.
- Vybraný DB engine, retence a případně Timescale komprese.
- Standard šablon, tagů, severit a pojmenování itemů.
- LLD pro klíčové technologie a filtry pro efemérní zdroje.
- Notifikační media types, eskalace, on-call kalendáře.
- BSM model a definice SLA/SLO.
- Bezpečnost: TLS, RBAC, secret macros, audit.
- HA/DR plán, zálohy a pravidelné obnovy.
- Observabilita Zabbixu samotného: metriky queue, busy a DB lag.
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 s tagy, korelace a automatizace přes API. Tím získáte spolehlivý systém s nízkým šumem, rychlým MTTD/MTTR a jasnou viditelností od infrastruktury po byznysový dopad.