Zabbix: využití pro komplexní monitoring

Zabbix: Využití pro komplexní monitoring

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í namespace na š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čujte severity z 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.