Zabbix mapa nemusí byť len funkčná – pomocou vlastných ikoniek si ju môžeme upraviť tak, aby jednotlivé prvky na prvý pohľad pripomínali zariadenia, ktoré v sieti skutočne používame.
V Zabbixe prejdeme do Administration → General → Images.
Následne klikneme na Create icon.
Nahráme obrázok, ktorý chceme použiť
Upozornenie: obrázky musia mať veľkosť maximálne 1 MB.
Ja som si týmto spôsobom pridal vlastné obrázky pre Raspberry Pi a herný automat Arcade 101.
Ak chceme v mape použiť rôzne veľkosti ikoniek, je potrebné pripraviť si viac verzií toho istého obrázka v rôznych rozmeroch, napríklad:
64 px
96 px
128 px
Výsledok môže vyzerať napríklad takto:
Priradenie ikonky do Zabbix mapy
Následne prejdeme do Monitoring → Maps.
Ak už máme vytvorenú mapu, klikneme na Edit map.
Potom klikneme na prvok, ktorý chceme upraviť. V časti Icons vyberieme požadovaný obrázok, napríklad raspberry_pi_96.
V poli Default zvolíme ikonku, ktorú chceme pre dané zariadenie používať.
Následne klikneme na Apply.
A zariadenie sa nám úspešné zmení
Výsledok môže vyzerať aj takto:
Ak si chcete tieto ikonky vyskúšať aj vo svojej Zabbix mape, môžete si ich stiahnuť nižšie.
Monitorovanie IT infraštruktúry nie je iba o sledovaní serverov, sieťových zariadení a systémových služieb. Dôležitou súčasťou je aj prehľad o webových aplikáciách a stránkach, ktoré v infraštruktúre prevádzkujeme.
Systém Zabbix umožňuje pomocou funkcie Dashboard vytvárať centralizované monitorovacie panely, ktoré kombinujú rôzne typy widgetov a poskytujú prehľad o jednotlivých službách.
Jednou z dostupných možností je URL widget, ktorý umožňuje vložiť webovú stránku priamo do prostredia Zabbix Dashboardu.
V tomto návode si ukážeme, ako vytvoriť a nakonfigurovať URL widget na príklade našej webovej aplikácie https://video.ibasterisk.eu.
Výsledkom bude dashboard, v ktorom môžeme mať na jednom mieste monitorovacie údaje a náhľady vybraných webových aplikácií.
Dôležité: URL widget slúži na zobrazenie webovej stránky. Samotnú dostupnosť a funkčnosť webových služieb je potrebné monitorovať pomocou ďalších funkcií Zabbixu, napríklad Web scenarios alebo HTTP agent.
1. Pridanie URL widgetu do Zabbix Dashboardu
V administrácii systému Zabbix otvoríme sekciu:
Dashboards
Vyberieme existujúci dashboard, do ktorého chceme pridať náhľad webovej stránky, a prepneme ho do režimu úprav pomocou tlačidla Edit dashboard.
Následne klikneme na Add widget, čím otvoríme konfiguračné okno nového widgetu.
V poli Type vyberieme možnosť URL.
Tento typ widgetu umožňuje zobrazovať obsah webových stránok priamo v prostredí Zabbix Dashboardu bez potreby otvárania samostatného okna prehliadača.
2. Konfigurácia URL widgetu
Po výbere typu URL sa zobrazí konfiguračné okno Edit widget, v ktorom nastavíme webovú stránku, ktorú chceme zobrazovať v Zabbix Dashboarde.
Jednotlivé polia vyplníme nasledovne:
Type: URL – typ widgetu na zobrazenie webovej stránky.
Name:video.ibasterisk.eu – názov widgetu, ktorý sa zobrazí v dashboarde.
Refresh interval: Default (No refresh) – obsah sa nebude automaticky obnovovať v pravidelných intervaloch.
URL:https://video.ibasterisk.eu – adresa webovej aplikácie, ktorú chceme zobraziť.
Override host: Ponecháme nevyplnené, pretože v našom prípade nepotrebujeme vybrať iného monitorovaného hosta.
Show header: Ponecháme zapnuté, aby sa zobrazoval názov widgetu.
Po dokončení konfigurácie klikneme na tlačidlo Apply, čím potvrdíme nastavenia widgetu.
Dôležité upozornenie – obmedzenia zobrazovania webových stránok
Nie všetky webové stránky a aplikácie umožňujú zobrazenie svojho obsahu priamo v Zabbix Dashboarde prostredníctvom URL widgetu.
Dôvodom sú bezpečnostné mechanizmy webových serverov a aplikácií, ktoré môžu zakazovať vloženie stránky do inej webovej stránky pomocou HTML prvku iframe.
Medzi najčastejšie bezpečnostné obmedzenia patria:
X-Frame-Options – HTTP hlavička, ktorá môže zakazovať zobrazovanie stránky v rámci inej stránky.
Content-Security-Policy (CSP) – bezpečnostná politika, ktorá pomocou direktívy frame-ancestors určuje, ktoré webové stránky môžu daný obsah vkladať.
V našom prípade sme sa pokúsili pridať webovú aplikáciu https://mail.ibasterisk.eu.
Po nakonfigurovaní URL widgetu však prehliadač Firefox zobrazil bezpečnostné upozornenie a odmietol načítať stránku v rámci dashboardu.
To neznamená, že webová aplikácia je nedostupná alebo nefunkčná. Znamená to, že jej bezpečnostné nastavenia neumožňujú tento spôsob zobrazenia.
Odporúčanie: Pri aplikáciách, ktoré blokujú vloženie do URL widgetu, odporúčame zachovať ich bezpečnostné nastavenia a monitorovať ich dostupnosť pomocou funkcií Web scenarios alebo HTTP agent v Zabbixe.
Bezpečnostné obmedzenia webových aplikácií, najmä prihlasovacích rozhraní, by sa nemali vypínať iba kvôli ich zobrazeniu v dashboarde.
3. Uloženie widgetu a výsledné zobrazenie webovej stránky
Po dokončení konfigurácie URL widgetu klikneme na tlačidlo Apply, čím potvrdíme vykonané nastavenia.
Nový widget sa následne zobrazí na pracovnej ploche Zabbix Dashboardu.
V režime úprav môžeme widget presunúť na požadované miesto a upraviť jeho veľkosť podľa rozloženia ostatných monitorovacích prvkov.
Po dokončení úprav klikneme na tlačidlo Save changes, čím uložíme konfiguráciu celého dashboardu.
Ak webová stránka povoľuje vloženie do rámca iframe, jej obsah sa zobrazí priamo vo vytvorenom URL widgete.
V našom prípade môžeme týmto spôsobom zobrazovať webovú aplikáciu https://video.ibasterisk.eu a pristupovať k jej rozhraniu priamo z monitorovacieho panela.
Takto získavame centralizované prostredie, v ktorom máme na jednom mieste monitorovacie údaje Zabbixu a náhľady vybraných webových aplikácií.
Dôležité: Úspešné zobrazenie stránky v URL widgete nenahrádza automatické monitorovanie jej dostupnosti. Na pravidelnú kontrolu HTTP odpovedí, odozvy a dostupnosti webových služieb môžeme použiť funkcie Web scenarios alebo HTTP agent.
Po kliknutí na tlačidlo Save changes sa konfigurácia dashboardu uloží a výsledné zobrazenie bude vyzerať nasledovne:
4. Záver
Pomocou funkcie Zabbix Dashboard a widgetu typu URL sme si ukázali, ako jednoducho integrovať webové stránky a aplikácie priamo do centralizovaného monitorovacieho panela.
Na praktickom príklade webovej aplikácie https://video.ibasterisk.eu sme vytvorili URL widget, nakonfigurovali jeho základné parametre a zobrazili obsah stránky priamo v prostredí Zabbixu.
Zároveň sme si vysvetlili bezpečnostné obmedzenia, ktoré môžu zabrániť zobrazeniu niektorých webových aplikácií, napríklad mail.ibasterisk.eu, prostredníctvom URL widgetu.
Takto vytvorený dashboard umožňuje kombinovať monitorovacie údaje s náhľadmi vybraných webových aplikácií a poskytuje prehľadnejšie prostredie na správu IT infraštruktúry.
Dôležité je rozlišovať medzi vizualizáciou webovej stránky a skutočným monitorovaním jej dostupnosti. URL widget zabezpečuje zobrazenie obsahu, zatiaľ čo funkcie Web scenarios a HTTP agent umožňujú automatizované overovanie dostupnosti a sledovanie vybraných parametrov webových služieb.
Výsledkom je praktické rozšírenie Zabbix Dashboardu, ktoré môžeme postupne dopĺňať o ďalšie webové aplikácie a monitorovacie prvky podľa potrieb našej infraštruktúry IBASTERISK.
Monitorovanie sieťovej infraštruktúry nie je iba o sledovaní dostupnosti jednotlivých zariadení. Dôležitá je aj prehľadná vizualizácia ich vzájomného prepojenia, aktuálneho prevádzkového stavu a sieťovej komunikácie.
Systém Zabbix umožňuje prostredníctvom funkcie Maps vytvárať interaktívne topologické mapy, ktoré zobrazujú servery, sieťové zariadenia a ich logické prepojenia.
V našej infraštruktúre IBASTERISK používame túto funkcionalitu na vizualizáciu prepojenia internetovej konektivity, firewallu FortiGate a jednotlivých Linux serverov vrátane Synology NAS.
V tomto návode si ukážeme, ako upraviť existujúcu mapu a doplniť na ňu aktuálne hodnoty prijatej a odoslanej sieťovej prevádzky pomocou výrazov Zabbix.
1. Úprava existujúcej sieťovej mapy
V administrácii Zabbixu otvoríme sekciu:
Monitoring → Maps
Vyberieme existujúcu sieťovú mapu a klikneme na Edit map.
V režime úprav môžeme meniť rozmiestnenie monitorovaných objektov, ich grafické zobrazenie, popisy a vzájomné prepojenia.
Jednotlivé prvky mapy môžu reprezentovať napríklad firewall, server, sieťový prepínač alebo internetovú konektivitu.
2. Výber a konfigurácia prepojenia
Na mape vyberieme prepojenie medzi firewallom FortiGate a monitorovaným serverom.
Po označení príslušného prepojenia otvoríme jeho konfiguračné dialógové okno.
3. Zobrazenie sieťovej prevádzky pomocou RX/TX
Jednou z užitočných možností funkcie Maps je zobrazovanie aktuálnych monitorovacích hodnôt priamo v popisoch jednotlivých prvkov a prepojení.
V našom prípade chceme zobrazovať:
RX (Receive) – prijatú sieťovú prevádzku.
TX (Transmit) – odoslanú sieťovú prevádzku.
Tieto hodnoty získavame z monitorovacích položiek (Items), ktoré Zabbix pravidelne aktualizuje.
Po výbere príslušného spojenia otvoríme jeho konfiguráciu a klikneme na Edit.
Do poľa Label následne vložíme výrazy na zobrazenie prijatej (RX) a odoslanej (TX) sieťovej prevádzky.
net.if.in["eth0"] – monitoruje prijatú sieťovú prevádzku (RX) na rozhraní eth0.
net.if.out["eth0"] – monitoruje odoslanú sieťovú prevádzku (TX) na rozhraní eth0.
eth0 – názov sieťového rozhrania monitorovaného servera.
Použité výrazy odkazujú na monitorovací host mon.ibasterisk.local a sieťové rozhranie eth0.
Funkcia last() vracia poslednú dostupnú hodnotu z príslušnej monitorovacej položky.
Zabbix dosadí do popisu aktuálne hodnoty získané zo svojej monitorovacej databázy.
Dôležité: Názov hosta, sieťového rozhrania aj kľúče monitorovacích položiek musia zodpovedať skutočnej konfigurácii Zabbixu. Pri inom serveri alebo rozhraní je potrebné výrazy upraviť.
Rovnako treba overiť typ a jednotky monitorovacích položiek, aby zobrazované hodnoty skutočne reprezentovali požadovanú sieťovú prevádzku.
Po dokončení konfigurácie uložíme zmeny mapy kliknutím na tlačidlo Update.
Následne sa vrátime do sekcie Monitoring → Maps, otvoríme upravenú mapu a skontrolujeme výsledné zobrazenie sieťovej prevádzky.
4. Uloženie konfigurácie a výsledná vizualizácia
Po otvorení mapy v režime monitorovania Zabbix automaticky vyhodnotí použité výrazy a zobrazí aktuálne hodnoty sieťovej prevádzky.
Jednotlivé prepojenia tak obsahujú informácie o prijatej (RX) a odoslanej (TX) prevádzke. Tieto údaje pochádzajú z monitorovacích položiek priradených konkrétnym sieťovým rozhraniam.
Výsledná topologická mapa našej infraštruktúry IBASTERISK zobrazuje internetové pripojenie Orange, firewall FortiGate, sieťový prepínač a jednotlivé servery vrátane Synology NAS.
Pri serveroch máme navyše uvedené príslušné porty na FortiGate, čo umožňuje jednoduchšiu identifikáciu fyzického zapojenia.
Takto získavame centralizovaný grafický prehľad o dostupnosti zariadení, ich vzájomnom prepojení a aktuálnej sieťovej komunikácii.
5. Odporúčania pre prevádzku
Pri používaní funkcie Zabbix Maps je dôležité pravidelne kontrolovať správnosť konfigurácie monitorovacích položiek a zobrazovaných údajov.
Odporúčame dodržiavať nasledujúce zásady:
Kontrola monitorovacích položiek (Items): Výrazy použité v popisoch prepojení musia odkazovať na existujúce položky konkrétnych hostov.
Správne sieťové rozhrania: Pri zmene názvu rozhrania, napríklad z eth0 na ens18, je potrebné aktualizovať príslušné výrazy.
Kontrola hodnôt RX/TX: Ak sa namiesto aktuálnej hodnoty zobrazuje *UNKNOWN*, treba overiť dostupnosť údajov v sekcii Monitoring → Latest data a správnosť použitých výrazov.
Aktualizácia topológie: Pri pridaní nového servera alebo zmene zapojenia aktualizujeme aj sieťovú mapu.
Prehľadnosť mapy: Odporúčame používať jednotné názvy zariadení, označenia portov a zobrazovať iba najdôležitejšie prevádzkové informácie.
Takto zostane mapa aktuálna a využiteľná nielen na vizualizáciu infraštruktúry, ale aj pri diagnostike sieťových problémov.
6. Záver
Pomocou funkcie Zabbix Maps sme vytvorili prehľadnú vizualizáciu sieťovej infraštruktúry IBASTERISK, ktorá zobrazuje internetové pripojenie Orange, firewall FortiGate, sieťový prepínač a jednotlivé servery vrátane Synology NAS.
Doplnením dynamických výrazov do popisov sieťových prepojení sme získali možnosť zobrazovať aktuálne hodnoty prijatej (RX) a odoslanej (TX) sieťovej prevádzky priamo na topologickej mape.
Takto vytvorená mapa poskytuje centralizovaný prehľad o monitorovaných zariadeniach, ich logických prepojeniach a aktuálnom prevádzkovom stave.
Veľkou výhodou je možnosť kombinovať grafické znázornenie infraštruktúry s monitorovacími údajmi a upozorneniami systému Zabbix.
Výsledkom je praktický nástroj, ktorý uľahčuje každodennú správu infraštruktúry, rýchlejšiu orientáciu pri diagnostike problémov a priebežné sledovanie sieťovej komunikácie.
V budúcnosti môžeme mapu rozšíriť o ďalšie zariadenia, monitorovacie položky alebo podrobnejšie zobrazenie prevádzkových parametrov.
Monitoring úložiska patrí medzi dôležité súčasti správy serverovej infraštruktúry. Pri sieťových úložiskách NAS je potrebné pravidelne kontrolovať nielen dostupnosť zariadenia, ale aj kapacitu diskových zväzkov, aby sme dokázali včas reagovať na nedostatok voľného miesta.
V tomto návode si ukážeme, ako nakonfigurovať monitoring diskového zväzku Synology NAS pomocou SNMP v systéme Zabbix.
V našej infraštruktúre IBASTERISK používame Synology NAS, ktorý už monitorujeme prostredníctvom SNMP. Pri kontrole existujúcej šablóny Linux by SNMP sme však zistili, že automatické objavovanie súborových systémov nefunguje správne.
Preto si ukážeme diagnostiku problému, overenie dostupných SNMP OID, vytvorenie vlastných monitorovacích položiek (Items) a nastavenie upozornení (Triggers).
1. Použité prostredie
Parameter
Hodnota
Monitorovací systém
Zabbix
Monitorované zariadenie
Synology NAS
Hostname
nas.ibasterisk.local
IP adresa NAS
10.10.8.3
Monitorovací protokol
SNMP v2c, port 161
Existujúca šablóna
Linux by SNMP
Monitorovaný zväzok
/volume1
Použitý SNMP index
57
2. Diagnostika SNMP
Vyhľadáme server nas.ibasterisk.local
Klikneme na Discovery
Teraz klikni na červenú ikonu i úplne vpravo pri pravidle Mounted filesystem discovery.
Tam sa zobrazí chybové hlásenie, ktoré sme už pri diagnostike videli:
No Such Instance currently exists at this OID
2.1 Overenie SNMP OID
Aby sme zistili príčinu chyby, overíme dostupnosť SNMP OID priamo z monitorovacieho servera pomocou nástroja snmpwalk.
Na serveri mon.ibasterisk.local najskôr nainštalujeme potrebný balík:
sudo apt update
sudo apt install -y snmp
Následne skontrolujeme SNMP vetvu, ktorú používa šablóna Linux by SNMP na získavanie informácií o diskoch:
Hodnotu SNMP_COMMUNITY nahradíme skutočnou SNMP community nakonfigurovanou na zariadení.
V našom prípade sme dostali:
iso.3.6.1.4.1.2021.9 = No Such Object available on this agent at this OID
Výsledok potvrdzuje, že Synology NAS neposkytuje požadované údaje cez túto vetvu UCD-SNMP-MIB. Preto existujúce pravidlo Mounted filesystem discovery v šablóne Linux by SNMP nedokáže správne objavovať diskové zväzky.
Samotná SNMP komunikácia však funguje, preto preveríme alternatívnu štandardnú SNMP tabuľku hrStorageTable.
Poznámka: Ako SNMP community v článku používame zástupný názov SNMP_COMMUNITY, aby sme nezverejňovali skutočnú konfiguračnú hodnotu.
2.2 Vyhľadanie diskového zväzku cez hrStorageTable
Keďže Synology NAS neposkytovalo požadované údaje cez UCD-SNMP-MIB, rozhodli sme sa preveriť štandardnú SNMP tabuľku hrStorageTable, ktorá je súčasťou HOST-RESOURCES-MIB.
Na monitorovacom serveri mon.ibasterisk.local spustíme:
hrStorageDescr.57 – názov diskového zväzku /volume1.
hrStorageAllocationUnits.57 – veľkosť alokačnej jednotky, 8192 bajtov.
hrStorageSize.57 – celkový počet alokačných jednotiek.
hrStorageUsed.57 – počet použitých alokačných jednotiek.
Číslo 57 predstavuje SNMP index nášho zväzku /volume1.
Percentuálnu obsadenosť vypočítame:
Obsadenosť (%) = (Použité jednotky / Celkové jednotky) × 100
Podľa získaných hodnôt je obsadenosť zväzku približne 38,27 %.
Tým sme potvrdili, že Synology poskytuje potrebné informácie o disku cez HOST-RESOURCES-MIB a môžeme ich použiť na vytvorenie vlastných monitorovacích položiek v Zabbixe.
Upozornenie: SNMP index 57 nemusí zostať rovnaký po zmene konfigurácie alebo opätovnom objavení úložísk. V tomto návode používame pevný index, ktorý sme overili na našom NAS. Pre univerzálne riešenie je vhodné doplniť automatické objavovanie zväzkov.
3. Vytvorenie monitorovacích položiek (Items)
Po úspešnom overení SNMP OID môžeme vytvoriť vlastné monitorovacie položky (Items), pomocou ktorých bude Zabbix pravidelne získavať údaje o zaplnení diskového zväzku /volume1.
Vytvoríme tri položky:
Celkový počet alokačných jednotiek zväzku.
Počet použitých alokačných jednotiek.
Percentuálnu obsadenosť vypočítanú z predchádzajúcich dvoch položiek.
Na stránke Items klikneme na tlačidlo Create item, čím otvoríme formulár na vytvorenie novej monitorovacej položky.
3.1 Celková kapacita zväzku
Parameter
Hodnota
Name
Synology: Volume1 total size
Type
SNMP agent
Key
synology.volume1.total
SNMP OID
1.3.6.1.2.1.25.2.3.1.5.57
Host interface
10.10.8.3:161
Type of information
Numeric (unsigned)
Update interval
1m
Units
Nevypĺňame
Výsledok
Po vyplnení položku uložíme kliknutím na Add.
Funkčnosť overíme v Monitoring → Latest data, kde vyhľadáme položku Synology: Volume1 total size.
Prvý Item získava celkový počet alokačných jednotiek diskového zväzku /volume1 prostredníctvom SNMP. Tieto údaje následne použijeme na výpočet percentuálnej obsadenosti disku.
V našom prípade Zabbix získal hodnotu:
1402617201
Táto hodnota predstavuje počet alokačných jednotiek, nie priamo veľkosť disku v bajtoch.
3.2 Obsadená kapacita zväzku
Druhý Item bude získavať počet použitých alokačných jednotiek rovnakého zväzku.
Keď už Zabbix získava celkový a použitý počet alokačných jednotiek, vytvoríme tretiu položku typu Calculated, ktorá bude zobrazovať obsadenosť zväzku v percentách.
Otvoríme:
Data collection → Hosts → nas.ibasterisk.local → Items
Druhý trigger sa aktivuje pri obsadenosti nad 90 % počas celého päťminútového okna.
Po uložení máme pripravené dva stupne upozornení na zaplnenie diskového zväzku.
4.3 Kontrola vytvorených triggerov
Vrátime sa do:
Data collection → Hosts → nas.ibasterisk.local → Triggers
Vo filtri Name vyhľadáme Synology: Volume1 disk space.
V zozname by sme mali vidieť oba vytvorené triggery so stavom Enabled.
Keďže aktuálna obsadenosť nášho NAS bola približne 38 %, oba triggery zostali v stave OK.
5. Nastavenie závislosti triggerov (Dependencies)
Po vytvorení oboch triggerov nastavíme medzi nimi závislosť (Dependency).
Pri zaplnení diskového zväzku /volume1 nad 90 % sa môžu splniť podmienky oboch triggerov:
Warning – obsadenosť nad 80 %.
High – obsadenosť nad 90 %.
Aby Zabbix nevytváral zbytočné upozornenia z oboch triggerov súčasne, nastavíme závislosť menej závažného triggera od kritického.
5.1 Konfigurácia Dependencies
V Zabbixe otvoríme:
Data collection → Hosts → nas.ibasterisk.local → Triggers
Nájdeme trigger:
Synology: Volume1 disk space is low
Klikneme na jeho názov a otvoríme záložku Dependencies.
Následne klikneme na Add a vyberieme kritický trigger:
nas.ibasterisk.local: Synology: Volume1 disk space is critically low
Výber potvrdíme a konfiguráciu uložíme kliknutím na Update.
Dôležité: Závislosť nastavujeme na triggre Warning, ktorý bude závisieť od triggera High, nie naopak.
5.2 Výsledok konfigurácie
Po uložení sa v záložke Dependencies zobrazí:
nas.ibasterisk.local: Synology: Volume1 disk space is critically low
Tým sme nastavili, že počas aktívneho kritického problému bude Zabbix potláčať vytváranie nových problémových udalostí zo závislého Warning triggera.
Ak sa najskôr aktivuje Warning a obsadenosť následne prekročí 90 %, už existujúca udalosť Warning môže zostať otvorená. Závislosť teda nezaručuje automatické uzavretie staršieho upozornenia.
6. E-mailové upozornenia
Po vytvorení diskových triggerov je dôležité zabezpečiť, aby Zabbix v prípade nedostatku voľného miesta automaticky upozornil administrátora.
V našej infraštruktúre už máme nakonfigurované odosielanie e-mailových upozornení, preto nie je potrebné vytvárať novú akciu.
6.1 Kontrola existujúcej akcie
V Zabbixe otvoríme:
Alerts → Actions → Trigger actions
Vyhľadáme existujúcu akciu:
Report problems to Zabbix administrators
Akcia má nastavené nasledujúce podmienky:
Host group equals Linux servers
Host group equals Networks
Host group equals web
Podmienky sú spojené operátorom OR, takže stačí, aby monitorovaný host patril aspoň do jednej z uvedených skupín.
Náš host nas.ibasterisk.local patrí do skupiny Linux servers, preto spĺňa podmienku tejto akcie.
6.2 Odosielanie upozornení
V záložke Operations máme nastavené odosielanie správ používateľskej skupine Zabbix administrators prostredníctvom média Email.
Overili sme tiež, že akcia má stav Enabled.
V prípade aktivácie diskového triggera tak existujúca konfigurácia umožňuje odoslať upozornenie na nedostatok voľného miesta.
Pre zväzok /volume1 sme nastavili tieto hranice:
Warning: obsadenosť nad 80 % počas päťminútového okna.
High: obsadenosť nad 90 % počas päťminútového okna.
6.3 Overenie odosielania
Históriu vykonaných akcií môžeme skontrolovať v sekcii:
Reports → Action log
Tu Zabbix zobrazuje výsledky odosielania upozornení vrátane stavu Sent.
Stav Sent potvrdzuje úspešné odovzdanie správy nakonfigurovanému e-mailovému serveru, nie nevyhnutne jej doručenie do schránky príjemcu.
V našom prostredí sme už overili funkčné odosielanie upozornení pri iných monitorovaných službách. Samostatný test odoslania upozornenia pri zaplnení Synology NAS sme zatiaľ nevykonali.
7. Zobrazenie obsadenosti diskov na Zabbix Dashboarde
Po vytvorení monitorovacích položiek a triggerov môžeme doplniť aj grafické zobrazenie aktuálnej obsadenosti diskového zväzku.
Zabbix ponúka viacero typov widgetov. V našom prípade použijeme Gauge, ktorý zobrazuje percentuálnu obsadenosť disku pomocou prehľadného ukazovateľa.
7.1 Vytvorenie dashboardu
V Zabbixe otvoríme:
Monitoring → Dashboards
Klikneme na Create dashboard a vytvoríme dashboard s názvom:
Disk Monitoring – IBASTERISK
Po jeho vytvorení prejdeme do režimu úprav a klikneme na Add widget.
7.2 Konfigurácia widgetu Gauge
Ako typ widgetu vyberieme Gauge.
Pre monitoring Synology NAS nastavíme nasledujúce parametre:
Parameter
Hodnota
Type
Gauge
Name
Synology NAS – Volume1
Host
nas.ibasterisk.local
Item
Synology: Volume1 usage in %
Min
0
Max
100
Refresh interval
Default (1 minute)
Pri výbere monitorovacej položky klikneme na tlačidlo Select vedľa poľa Item.
Vyhľadáme hosta nas.ibasterisk.local a vyberieme položku:
Synology: Volume1 usage in %
Rozsah ukazovateľa nastavíme od 0 do 100, pretože zobrazujeme percentuálnu obsadenosť disku.
Ostatné nastavenia môžeme ponechať na predvolených hodnotách.
Kliknutím na Add vložíme widget na dashboard.
V našom prípade bola obsadenosť zväzku /volume1 približne 38 %.
7.3 Výsledný dashboard
Na výslednom dashboarde vidíme aktuálnu percentuálnu obsadenosť diskov monitorovaných serverov MON, FreeIPA, Mail, DNS a Synology NAS. Každý server má vlastný ukazovateľ Gauge, vďaka čomu získame rýchly prehľad o využití diskovej kapacity celej infraštruktúry.
8. Záver a odporúčania
V tomto návode sme si ukázali, ako nakonfigurovať monitoring diskového zväzku Synology NAS pomocou protokolu SNMP v systéme Zabbix.
Pri konfigurácii sme zistili, že existujúca šablóna Linux by SNMP nedokázala správne objavovať diskové zväzky, pretože Synology neposkytovalo požadované údaje cez UCD-SNMP-MIB.
Pomocou nástroja snmpwalk sme overili dostupnosť údajov cez HOST-RESOURCES-MIB a vytvorili tri vlastné monitorovacie položky na sledovanie celkovej kapacity, využitého miesta a percentuálnej obsadenosti zväzku /volume1.
Následne sme nastavili upozornenia pri obsadenosti nad 80 % (Warning) a 90 % (High), doplnili závislosť medzi triggermi a overili konfiguráciu existujúcej e-mailovej akcie.
Na záver sme vytvorili prehľadný ukazovateľ Gauge, ktorý zobrazuje aktuálnu obsadenosť diskového zväzku na Zabbix Dashboarde.
Odporúčania pre ďalšiu prevádzku
Kontrolovať SNMP index: V našej konfigurácii používame pevný index 57, ktorý sa môže pri zmenách konfigurácie NAS zmeniť. Pre dlhodobú prevádzku odporúčame automatické objavovanie zväzkov.
Pravidelne kontrolovať dostupnosť údajov: Overovať, že monitorovacie položky nezostávajú v stave Not supported.
Testovať upozornenia: Funkčnosť e-mailovej akcie sme overili pri iných službách, ale konkrétne upozornenie na zaplnenie Synology NAS zatiaľ nebolo otestované.
Sledovať stav úložiska: Monitoring voľnej kapacity nenahrádza kontrolu zdravia fyzických diskov, RAID alebo SHR a stavu úložného poolu.
Výsledkom je funkčný monitoring zaplnenia zväzku /volume1, ktorý môžeme v budúcnosti rozšíriť o automatické objavovanie ďalších zväzkov a sledovanie stavu fyzických diskov.
Monitoring SSH, Docker kontajnerov a SSL certifikátov v prostredí Linux a Docker
V tomto návode si ukážeme, ako rozšíriť existujúci monitoring v Zabbixe o vlastné monitorovacie položky (Items), spúšťacie podmienky (Triggers), používateľské makrá (Macros) a automatické objavovanie služieb (Low-Level Discovery).
Zameriame sa na praktické príklady z infraštruktúry IBASTERISK, kde prevádzkujeme viacero Linux serverov, Docker aplikácií, interných webových služieb a certifikátov vydávaných internou certifikačnou autoritou FreeIPA.
1. Základné pojmy v Zabbixe
Pojem
Význam
Host
Server, sieťové zariadenie alebo monitorovaná služba
Item
Položka, ktorá získava konkrétnu monitorovanú hodnotu
Trigger
Podmienka, ktorá vyhodnocuje získané údaje a vytvára problém
Template
Šablóna obsahujúca opakovane použiteľné Items, Triggers a ďalšie nastavenia
Macro
Premenná používaná pri konfigurácii monitoringu
Discovery
Automatické objavovanie monitorovaných objektov
Trigger prototype
Vzor na automatické vytváranie triggerov pre objavené objekty
Action
Pravidlo určujúce, čo sa má vykonať pri udalosti, napríklad odoslanie e-mailu
2. Monitoring dostupnosti SSH
Ako prvý príklad vytvoríme jednoduchý monitoring dostupnosti služby SSH.
Cieľom je, aby Zabbix pravidelne kontroloval SSH na Linux serveroch a v prípade nedostupnosti vytvoril upozornenie.
2.1 Vytvorenie vlastnej šablóny
V Zabbixe otvoríme:
Data collection → Templates → Create template
Vyplníme
Parameter
Hodnota
Template name
Template SSH Monitoring
Visible name
SSH Monitoring
Template groups
Templates
Kliknutím na Add vytvoríme šablónu.
2.2 Pridanie SSH Item
Otvoríme vytvorenú šablónu a prejdeme do sekcie Items → Create item.
Parameter
Hodnota
Name
SSH service availability
Type
Simple check
Key
net.tcp.service[ssh]
Type of information
Numeric (unsigned)
Update interval
1m
History
7d
Kľúč `net.tcp.service[ssh]` kontroluje dostupnosť SSH služby na štandardnom porte 22.
`1` – SSH služba odpovedá.
`0` – SSH služba neodpovedá.
Kontrolu vykonáva Zabbix server alebo proxy. Na cieľovom serveri preto tento konkrétny Item nevyžaduje Zabbix agenta.
Pri neštandardnom SSH porte môžeme použiť napríklad:
Trigger sa aktivuje vtedy, keď sú všetky dostupné hodnoty SSH kontroly za posledné tri minúty nulové. Keď Zabbix opäť zaznamená hodnotu `1`, problém sa automaticky uzavrie.
Poznámka: Výraz využíva trojminútové časové okno, ale nie je to presný časovač. Pri neúplnej histórii meraní môže byť vhodné pridať podmienku na minimálny počet vzoriek.
2.4 Priradenie šablóny serverom
Prejdeme do Data collection → Hosts → vybraný server → Templates.
V časti Link new templates vyberieme `SSH Monitoring` a uložíme zmeny.
V našej infraštruktúre sme šablónu priradili serverom:
dns.ibasterisk.local
freeipa.ibasterisk.local
mail.ibasterisk.local
mon.ibasterisk.local
Ako pridať template na ďalší server
Klikneme na server napríklad
freeipa.ibasterisk.local
Do poľa vpíšeme SSH, vyberieme ho
A následne klikneme na update
Funkčnosť overíme v **Monitoring → Latest data**. Vyhľadáme `SSH service availability`. Pri dostupnom SSH by sme mali vidieť hodnotu `1`.
Ak už na serveri existuje rovnaký Item, pred priradením šablóny treba vyriešiť duplicitu.
3. Monitoring Docker kontajnerov
Ďalším krokom je monitoring Docker prostredia pomocou Zabbix Agent 2.
Na monitorovacom serveri prevádzkujeme viacero aplikácií vrátane Grafany, Graylogu, NetBoxu, Passboltu a samotného Zabbixu.
3.1 Kontrola Zabbix Agent 2
Na Linux serveri spustíme:
zabbix_agent2 -V
V našom prípade bola použitá verzia:
zabbix_agent2 (Zabbix) 7.4.15
Docker monitoring vyžaduje dostupný Docker plugin a prístup k Docker API.
3.2 Kontrola Docker socketu
Aby mohol Zabbix Agent 2 monitorovať Docker kontajnery, musí mať oprávnenie komunikovať s Docker Engine prostredníctvom Docker socketu.
Najskôr overíme, či Docker socket existuje a aké má nastavené oprávnenia:
ls -l /var/run/docker.sock
Príklad výstupu:
srw-rw---- 1 root docker 0 Oct 11 18:14 /var/run/docker.sock
Z výstupu vidíme, že vlastníkom socketu je používateľ root a skupina docker. Prístup k socketu majú štandardne iba títo používatelia a členovia príslušnej skupiny.
Následne skontrolujeme, do ktorých skupín patrí používateľ zabbix:
Hodnota 1 potvrdzuje, že Zabbix Agent 2 dokáže komunikovať s Docker Engine, keď má prístup k Docker socketu.
Záver kontroly
Porovnaním oboch výsledkov sme potvrdili, že príčinou nedostupnosti Docker API boli nedostatočné oprávnenia používateľa zabbix.
V nasledujúcom kroku nastavíme trvalý prístup k Docker socketu a reštartujeme Zabbix Agent 2, aby sa nové oprávnenia prejavili.
Bezpečnostné upozornenie: Členstvo v skupine docker poskytuje prakticky administrátorské oprávnenia nad hostiteľským systémom. Preto je potrebné túto zmenu vykonávať iba v dôveryhodnom prostredí a po zvážení bezpečnostných rizík.
3.3 Nastavenie oprávnení
Jednoduchou možnosťou je priradenie používateľa `zabbix` do skupiny `docker`:
Bezpečnostné upozornenie. Členstvo v skupine `docker` poskytuje prakticky administrátorské oprávnenia nad hostiteľským systémom. Toto riešenie používame len tam, kde akceptujeme uvedené riziko. V prísnejšie zabezpečenom prostredí je vhodné použiť obmedzený prístup k monitorovaciemu API.
3.4 Priradenie Docker šablóny
V Zabbixe otvoríme Data collection → Hosts → mon.ibasterisk.local → Templates a pridáme oficiálnu šablónu:
`Docker by Zabbix agent 2`
Následne klikneme na update
Po jej priradení overíme položky v Monitoring → Latest data.
Zabbix dokáže získavať informácie o Docker Engine aj jednotlivých kontajneroch, napríklad stav, CPU, pamäť, sieťové štatistiky a počty reštartov.
Do Hosts zadáme meno servera
4. Automatické objavovanie Docker kontajnerov
Otvoríme Data collection → Templates a vyhľadáme šablónu Docker by Zabbix agent 2
Na jej riadku klikneme na Discovery.
Nájdeme pravidlo Containers discovery.
Oficiálna Docker šablóna obsahuje pravidlo `Containers discovery`.
V našej konfigurácii používalo kľúč:
docker.containers.discovery[false]
Interval automatického objavovania bol nastavený na `15m`.
Pomocou Low-Level Discovery Zabbix automaticky vytvára monitorovacie položky pre jednotlivé kontajnery.
4.1 Kontrola stavu kontajnera
Pre stav kontajnera využijeme Item prototype `Container {#NAME}: Running`:
docker.container_info.state.running["{#NAME}"]
Makro `{#NAME}` sa pri objavovaní automaticky nahradí názvom kontajnera. Napríklad pre Grafanu vznikne:
docker.container_info.state.running["/grafana"]
`1` – kontajner beží.
`0` – kontajner nebeží.
4.2 Vlastný Trigger prototype
Oficiálna šablóna už obsahuje triggery pre chybový exit kód, chybový stav a neúspešný healthcheck. V praxi sme však chceli monitorovať aj kontajner, ktorý sa zastaví korektne s exit kódom `0`.
Preto sme doplnili vlastný Trigger prototype v Data collection → Templates → Docker by Zabbix agent 2 → Discovery → Containers discovery → Trigger prototypes.
Parameter
Hodnota
Name
Docker: Container {#NAME} is not running
Severity
High
Create enabled
Yes
Discover
Yes
Expression:
max(/Docker by Zabbix agent 2/docker.container_info.state.running["{#NAME}"],3m)=0
and
count(/Docker by Zabbix agent 2/docker.container_info.state.running["{#NAME}"],3m)>=4
Výsledok
Trigger sa aktivuje pri najmenej štyroch nulových meraniach v posledných troch minútach, pričom v tomto okne nesmie byť zaznamenaná hodnota `1`.
Pri našom intervale merania približne 50 sekúnd tým obmedzujeme upozornenia na krátke reštarty.
Po vytvorení prototypu Zabbix automaticky vygeneroval **17 triggerov** pre objavené kontajnery. Medzi nimi boli:
`/grafana`
`/graylog`
`/graylog-datanode`
`/graylog-mongodb`
`/netbox-netbox-1`
`/passbolt`
`/freepbx-app`
`/zabbix-server`
`/zabbix-web`
Dôležité: Pred zásahom do oficiálnej šablóny odporúčame exportovať jej YAML zálohu. Po aktualizácii alebo opätovnom importe šablóny treba vlastné úpravy skontrolovať.
Trigger funguje iba vtedy, keď Zabbix stále získava stav kontajnera. Pri úplnom odstránení kontajnera počas aktualizácie treba zvlášť riešiť pravidlá pre stratené objekty (*lost resources*) a kontroly neprítomnosti dát. Pre kontajnery, ktoré sa majú pravidelne zastavovať, je vhodné použiť výnimky.
5. Monitoring SSL/TLS certifikátov
Okrem dostupnosti aplikácií je dôležité sledovať aj platnosť ich SSL/TLS certifikátov.
V našej infraštruktúre používame verejné certifikáty pre internetové domény a interné certifikáty vydávané cez FreeIPA Certificate Authority.
Na monitoring používame oficiálnu šablónu `Website certificate by Zabbix agent 2`.
5.1 Manuálna kontrola certifikátu
Pred vytvorením monitoringu môžeme certifikát overiť pomocou OpenSSL:
Tento príkaz kontroluje obsah certifikátu, ale sám osebe ešte nepotvrdzuje dôveryhodnosť celého certifikačného reťazca.
5.2 Vytvorenie SSL monitorovacieho hosta
Prejdeme do Data collection → Hosts → Create host.
Parameter
Hodnota
Host name
ssl.grafana.ibasterisk.local
Visible name
SSL – Grafana
Host groups
web
Template
Website certificate by Zabbix agent 2
Agent interface
10.10.8.5:10050
5.3 Konfigurácia makier
Na záložke **Macros** nastavíme:
Macro
Value
{$CERT.WEBSITE.HOSTNAME}
grafana.ibasterisk.local
{$CERT.EXPIRY.WARN}
30
{$CERT.WEBSITE.PORT}
443
Dedenie makier zo šablóny
Pri konfigurácii SSL monitoringu nemusíme všetky makrá definovať priamo na monitorovanom hoste. Zabbix umožňuje dediť predvolené hodnoty z priradenej šablóny.
V našom prípade sme na hoste ssl.grafana.ibasterisk.local nastavili dve vlastné makrá:
Makro {$CERT.WEBSITE.PORT} s hodnotou 443 je automaticky zdedené zo šablóny Website certificate by Zabbix agent 2.
Zdedené hodnoty môžeme overiť v konfigurácii hosta na záložke Macros → Inherited and host macros, kde Zabbix zobrazuje výslednú hodnotu makra (Effective value) aj hodnotu definovanú v šablóne (Template value).
Vďaka dedeniu makier nemusíme opakovane nastavovať rovnaké hodnoty na každom monitorovanom hoste. Ak služba používa iný HTTPS port, napríklad Synology NAS na porte 5001, môžeme zdedenú hodnotu prepísať makrom priamo na danom hoste.
V zozname hostov klikneme na SSL – Grafana a otvoríme záložku Macros.
Makro `{$CERT.EXPIRY.WARN}` určuje počet dní pred expiráciou, pri ktorých Zabbix aktivuje upozornenie.
Výraz triggera pracuje so zostávajúcou platnosťou (ukážka z verejnej domény):
Pri iných hostoch sa názov hosta a kľúč prispôsobia automaticky prostredníctvom šablóny.
5.4 Overenie certifikátu v Zabbixe
V Monitoring → Latest data sme pri Grafane získali:
Parameter
Výsledok
Expires on
1. 8. 2028
Issuer
Certificate Authority, IBASTERISK.LOCAL
Validation result
valid
Last validation status
certificate verified successfully
5.5 Klonovanie SSL hostov
Po úspešnom nastavení prvého hosta je najjednoduchšie použiť funkciu Clone. Pri klonovaní zmeníme Host name, Visible name, makro `{$CERT.WEBSITE.HOSTNAME}` a makro `{$CERT.WEBSITE.PORT}`, ak služba nepoužíva port 443.
Ostatné nastavenia šablóny a agenta môžeme ponechať.
Takto možno monitorovať Grafanu, Graylog, FreeIPA, Zabbix, NetBox a ďalšie interné HTTPS služby. Pred použitím rovnakého postupu treba overiť, že cieľový port poskytuje TLS certifikát a Agent 2 ho dokáže načítať.
6. Monitoring certifikátu Synology NAS
Rovnaký postup sme pripravili aj pre Synology NAS na IP `10.10.8.3` a doméne `nas.ibasterisk.local`.
Keďže administrácia Synology DSM využíva štandardne HTTPS port `5001`, certifikát sme overili:
Výsledkom bol certifikát vydaný cez internú FreeIPA CA s dátumom expirácie 1. augusta 2028.
Pre Synology vytvoríme samostatný host klonovaním Grafany:
Parameter
Hodnota
Host name
ssl.nas.ibasterisk.local
Visible name
SSL – Synology NAS
Template
Website certificate by Zabbix agent 2
Agent interface
10.10.8.5:10050
Makrá:
{$CERT.WEBSITE.HOSTNAME} = nas.ibasterisk.local
{$CERT.WEBSITE.PORT} = 5001
{$CERT.EXPIRY.WARN} = 30
Po vytvorení hosta treba overiť `Expires on` a `Validation result` v Latest data. Výsledok manuálnej kontroly OpenSSL ešte neznamená, že sa už úspešne vykonala aj kontrola zo Zabbixu.
V zozname hostov vyberieme SSL – Synology NAS.
Klikneme na Macros a Host macros
Potom vedľa na Inherited and host macros
7. E-mailové upozornenia
Samotné vytvorenie triggerov nestačí. Aby Zabbix automaticky informoval administrátora o problémoch, potrebujeme nakonfigurovať e-mailový Media type a Trigger actions.
V našej infraštruktúre používame **Alerts → Actions → Trigger actions**.
Klikneme na Report problems to Zabbix administrators
Action
Obsahuje podmienky:
Podmienky sú spojené operátorom OR, takže akcia sa vykoná pri probléme na hoste, ktorý patrí aspoň do jednej z uvedených skupín.
Následne otvoríme záložku Operations, kde skontrolujeme nastavenia odosielania e-mailových upozornení.
V záložke **Operations** je nastavené odosielanie správ cez Email skupine `Zabbix administrators`. Samostatne sú pripravené aj Recovery operations na informovanie o vyriešení problému.
7.1 Overenie odosielania
V sekcii Reports → Action log môžeme skontrolovať, či boli správy úspešne odoslané alebo došlo k chybe.
Potom zvolíme napríklad Last 7 days
Príklad odoslania mailu
Na obrázku vidíme úspešne odoslané e-mailové upozornenia so stavom Sent. Tento stav potvrdzuje, že Zabbix úspešne odovzdal správu nakonfigurovanému SMTP serveru. Neznamená však automaticky, že správa bola doručená do schránky príjemcu. Skutočné doručenie je potrebné overiť aj na poštovom serveri alebo v cieľovej e-mailovej schránke.
Je potrebné pamätať, že pri úplnom výpadku samotného Zabbix servera nemusí byť schopný odoslať upozornenie. Na takéto situácie je vhodný externý monitoring.
8. Odporúčania pre prevádzku
Používať šablóny. Rovnaké kontroly nastavujeme na viacerých serveroch bez zbytočného opakovania.
Nevytvárať duplicitné Items a Triggers. Pred vytvorením novej kontroly najskôr preveríme existujúce šablóny.
Využívať Low-Level Discovery. Pri Dockeri umožňuje automaticky objavovať nové kontajnery.
Prispôsobiť intervaly merania. Príliš krátke intervaly môžu zbytočne zaťažovať infraštruktúru; príliš dlhé môžu oneskoriť upozornenia.
Zálohovať vlastné úpravy šablón. Najmä pred aktualizáciami alebo opätovným importom.
Kontrolovať dôveryhodnosť certifikátov. Samotný dátum expirácie nie je dostatočným potvrdením platnosti SSL/TLS.
Testovať upozornenia. Stav Enabled a OK potvrdzuje konfiguráciu, ale úplné overenie vyžaduje aj kontrolu skutočného správania pri probléme a doručenia notifikácie.
9. Záver
Pomocou Zabbixu sme rozšírili existujúci monitoring o kontrolu SSH, automatické objavovanie Docker kontajnerov, vlastné „Docker trigger“ prototypy a sledovanie SSL/TLS certifikátov.
Výsledkom je centralizované monitorovacie prostredie, ktoré dokáže sledovať dostupnosť služieb, ich prevádzkový stav a včas upozorňovať na potenciálne problémy.
Najväčší prínos prináša kombinácia Templates, Items, Trigger prototypes, Macros a Actions, pretože umožňuje správu väčšieho množstva služieb bez nutnosti opakovať konfiguráciu na každom serveri.
Celý postup je možné rozšíriť o monitoring diskov, databáz, sieťových rozhraní, HTTP služieb a ďalších komponentov infraštruktúry.
**Testovacie prostredie:** Zabbix 8.0 vývojová vetva, Zabbix Agent 2 7.4.15, Ubuntu 24.04 ARM64, Docker, FreeIPA CA a Synology NAS.
networks – ako sa bude volať comunity string (ľubovoľný názov)
IP adresa sa dáva Servera na ktorom beží Zabbix
config system snmp community
edit 1
set name "networks"
set status enable
set query-v1-status enable
set query-v2c-status enable
set trap-v1-status enable
set trap-v2c-status enable
config hosts
edit 1
set ip 10.10.8.5 255.255.255.255
next
end
next
end
Zabbix Server som inštaloval do Docker a zistil som, že nie dobre monitoruje „sam seba“
Na Zabbix serveri overíme, či je agent dostupný:
telnet 10.10.8.5 10050
Ak sa zobrazí Connected to 10.10.8.5, port je otvorený.
Ak sa spojenie okamžite zatvorí, problém je zvyčajne v hostname alebo povolených IP agenta.
Upravil som agenta
nano /etc/zabbix/zabbix_agentd.conf
# Povolené IP Zabbix servera pre pasívne kontroly
Server=10.10.8.5,172.19.0.4
# Povolené IP Zabbix servera pre aktívne kontroly
ServerActive=10.10.8.5,172.19.0.4
# Hostname agenta – MUSÍ presne sedieť so Zabbix GUI
Hostname=mon.ibasterisk.local
Reštartujeme agenta
sudo systemctl restart zabbix-agent
Skontrolujeme logy, či agent beží správne:
sudo tail -f /var/log/zabbix/zabbix_agentd.log
Chvíľu počkáme na výsledok, ak nieje pridaný ešte host, tak ho pridáme
Máme server v internej sieti s adresou 10.0.3.35, na ktorom beží Zabbix agent (porty 10050, 10051). Zabbix server sa nachádza v inej sieti (rozsah 193.87.79.0/27) a má monitorovať tento agent cez verejnú IP routera 193.87.79.11.
Na routeri MikroTik je nastavené NAT pravidlo:
Scenár
Máme server v internej sieti s adresou 10.0.3.35, na ktorom beží Zabbix agent (porty 10050, 10051). Zabbix server sa nachádza v inej sieti (rozsah 109.230.12.223/27) a má monitorovať tento agent cez verejnú IP routera 109.230.12.223.
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
SET GLOBAL log_bin_trust_function_creators = 1;
EXIT;
Zakážeme log_bin_trust_function_creators (nieje to povinné, ale odporúča sa)
SET GLOBAL log_bin_trust_function_creators = 0;
EXIT;
Teraz otvorímewebový prehliadač a zadáme IP adresu daného servera v tvare X.X.X.X/zabbix. IP adresu, ak nevieme, ta ksa dá zistiť s príkazom
ip a
Môžete mať problém
berie mspat ide mi t ourobil som iba chybu ale ma mteraz problem Locale for language "en_US" is not found on the web server. Tried to set: en_US, en_US.utf8, en_US.UTF-8, en_US.iso885915, en_US.ISO8859-1, en_US.ISO8859-2, en_US.ISO8859-4, en_US.ISO8859-5, en_US.ISO8859-15, en_US.ISO8859-13, en_US.CP1131, en_US.CP1251, en_US.CP1251, en_US.CP949, en_US.KOI8-U, en_US.US-ASCII, en_US.eucKR, en_US.eucJP, en_US.SJIS, en_US.GB18030, en_US.GB2312, en_US.GBK, en_US.eucCN, en_US.Big5HKSCS, en_US.Big5, en_US.armscii8, en_US.cp1251, en_US.eucjp, en_US.euckr, en_US.euctw, en_US.gb18030, en_US.gbk, en_US.koi8r, en_US.tcvn. Unable to translate Zabbix interface.
Potom znovu choďte na webový prehliadač a obnovte web stránku
Zadáme parametre, aké sme zadali pri vytváraní databázy
Teraz si môžeme nastaviť Zabbix server name, časové pásmo a vzhľad. V mojom prípade, nech to súhlasí s DNS záznamom, tak napíšem mon-ibasterisk.local a zvolím dark mode 🙂
Už sa len prihlásiť. Admin a heslo je zabbix
A keď už mám aj ten DNS server, tak môžeme otestovať A záznam
Konfigurácia na strane servera, ktorý chceme monitorovať
Ako prvé je potrebné na servery nainštalovať zabbix-agent2
sudo apt install zabbix-agent2
Prípadne , ak je nainštalovaný zabbix agent, tak ten treba zastaviť
systemctl stop zabbix-agent
Teraz je potrebné nakonfigurovať zabbix-agent2
Pridáme následovné parametre
Server= IP adresa servera, kde je nainštalovaný Zabbix
ServerActive= IP adresa servera, kde je nainštalovaný Zabbix
Hostname= buď hostname daného servera, alebo IP adresa servera, ktorý chceme monitorovať
Danú konfiguráciu uložíme
Teraz, aby sa nám spúšťal pri boote je potrebné Zabbix Agenta2 reštartovať, povoliť a prípadne zakázať pôvodný.
rpm -Uvh https://repo.zabbix.com/zabbix/7.2/release/rhel/7/noarch/zabbix-release-latest-7.2.el7.noarch.rpm
yum clean all
yum install zabbix-agent
Teraz upravne configuráciu agenta
vim /etc/zabbix/zabbix_agentd.conf
Server=10.0.3.35 // IP adresa servera
ServerActive=10.0.3.35 //IP adresa servera
Hostname = // ak máta DNS server tak meno daného servera alebo IP adresa
Hostname=10.0.3.37
Uložte to a reštartujte agetna
systemctl restart zabbix-agent
Teraz ešte povolíme, aby sa agent spúšťal pri boote s OS
Balík Zabbix nie je dostupný v predvolenom úložisku Ubuntu 22.04. Takže budete musieť stiahnuť a nainštalovať oficiálne úložisko Zabbix na váš server.
Najprv si stiahnite balík úložiska Zabbix 6 z ich oficiálnej webovej stránky pomocou nasledujúceho príkazu:
Po nainštalovaní je potrebné zmeniť php.ini časové pásmo. Je potrebné riadok nájsť a odomenotvať a dať tam spávne časové pásmo
sudo vim /etc/php/8.1/apache2/php.ini date.timezone =Europe/Bratislava
Následne uložte
Nakonfigurujte MariaDB
sudo apt install mariadb-server -y
Po nainštalovaní MariaDB zabezpečte inštaláciu MariaDB a nastavte heslo root pomocou nasledujúceho príkazu:
mariadb-secure-installation
Enter current password for root (enter for none):
Switch to unix_socket authentication [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
Potom sa pripojte k MariaDB pomocou nasledujúceho príkazu:
sudo mysql -u root -p
CREATE DATABASE zabbix character set utf8mb4 collate utf8mb4_bin;
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;
Konfigurácia zabbix – je potrebné editovať zabbix_server.conf
vim /etc/zabbix/zabbix_server.conf
Následne zmeňte alebo popridávajte riadky
sudo vim /etc/zabbix/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=password
Uložte to
Po dokončení uložte a zatvorte súbor. Potom importujte údaje Zabbix. Pomoocu hesla, ktoré ste zvolili pre Databázu.
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbix -p zabbix
Teraz reštartujte služby a spustute, príkaz, aby sa zabbix spúšťal pri boote servera
Je potrebné ísť do agenta a nastaviť IP adresu a hostname nájdite riadky Server a Hostname
sudo nano /etc/zabbix/zabbix_agentd.conf
2
3
Server=<Zabbix_Server_IP>
ServerActive=<Zabbix_Server_IP>
Hostname=<Hostname alebo IP adresa -servera, ktorý chceme monitorovať>
Teraz vytvorte databazu pre Zabbix a databazu pre užívateľa
Prihláste sa na server MariaDB a vytvorte databázu a používateľa databázy pre Zabbix. Užívateľ databázy by mal mať všetky privilégiá pre databázu zabbix.
mysql -u root -p
create database zabbixdb character set utf8 collate utf8_bin;
create user zabbixadmin@localhost identified by 'P@SSw0RD';
grant all on zabbixdb.* to zabbixadmin@localhost;
flush privileges;
quit
Vytvorte používateľský systémový účet Zabbix
Na spustenie démonov Zabbix je potrebný systémový účet Zabbix. Preto ho môžete vytvoriť spustením príkazu nižšie;
Prejdite do extrahovaného zdrojového adresára Zabbix a spustite konfiguračný skript na prispôsobenie Zabbix systému. Tento krok môže zlyhať, ak nie je nainštalovaná jedna z požadovaných závislostí. V tejto príručke nakonfigurujeme server a agenta Zabbix a povolíme podporu pre backend databázy MariaDB.
Choďte do priečinka
cd zabbix-6.0.4
Ak to prebehlo úspešne. Uvidíte takúto hlášku
sudo make install
Otvorte konfiguračný súbor
/usr/local/etc/zabbix_server.conf
A nahraďte hodnoty:
DBname
DBuser
DBPassword
S tým, čo ste nastavili pri vytváraní databázy. Odkomentujte riadok # DBHost=localhost.
Zmeňte adresár denníka servera Zabbix
LogFile=/var/log/zabbix_server.log
Teraz vytvorte tento súbor denníka a nastavte vlastníctvo na používateľa Zabbix.
Tento manuál je pre Raspberry Pi 3 a 4. Pôvodne som h oskúšal na Raspberry PI 2. Fungovalo to tiež, len dlhšie trval jedne proces. Na Raspberry Pi 2 to netrvalo 5 minút, ale vyše 4 hodín, kým zbehlo importovanie schém a dát. V tomto manuály budeme inštalovať Zabbix 4.0
Enter current password for root (enter for none): Press the Enter
Set root password? [Y/n]: Y
New password: <Enter root DB password> (to je na Vás)
Re-enter new password: <Repeat root DB password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
Vytvorte databázu
sudo mysql -uroot -p'rootDBpass'
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbixDBpass';
mysql> quit;
Importujte schému a data. Tento krok na Raspberry pi 3 trvá cca 5 minút.
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p'zabbixDBpass' zabbix
Teraz do sudo nano /etc/zabbix/zabbix_server.conf zapíšte heslo do databázy. V tomto manuály zabbixDBpass