Zabbix – monitoring diskov Synology NAS pomocou SNMP

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:
snmpwalk -v2c -c 'SNMP_COMMUNITY' 10.10.8.3 1.3.6.1.4.1.2021.9
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:
snmpwalk -v2c -c 'SNMP_COMMUNITY' 10.10.8.3 1.3.6.1.2.1.25.2.3
Príkaz vypíše dostupné úložiská vrátane pamäte, dočasných súborových systémov a diskových zväzkov.
V našom prípade sme vo výstupe našli:
iso.3.6.1.2.1.25.2.3.1.3.57 = STRING: "/volume1"
iso.3.6.1.2.1.25.2.3.1.4.57 = INTEGER: 8192
iso.3.6.1.2.1.25.2.3.1.5.57 = INTEGER: 1402617201
iso.3.6.1.2.1.25.2.3.1.6.57 = INTEGER: 536773441
Jednotlivé hodnoty predstavujú:
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.
V Zabbixe otvoríme:
Data collection → Hosts → nas.ibasterisk.local → Items → Create item

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.
Opäť otvoríme:
Data collection → Hosts → nas.ibasterisk.local → Items → Create item
| Parameter | Hodnota |
|---|---|
| Name | Synology: Volume1 used size |
| Type | SNMP agent |
| Key | synology.volume1.used |
| SNMP OID | 1.3.6.1.2.1.25.2.3.1.6.57 |
| Host interface | 10.10.8.3:161 |
| Type of information | Numeric (unsigned) |
| Update interval | 1m |
| Units | Nevypĺňame |

3.3 Vypočítanie percentuálnej obsadenosti disku
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
| Parameter | Hodnota |
|---|---|
| Name | Synology: Volume1 usage in % |
| Type | Calculated |
| Key | synology.volume1.pused |
| Type of information | Numeric (float) |
| Units | % |
| Update interval | 1m |
Do poľa Formula vložíme:
100 * last(//synology.volume1.used) / last(//synology.volume1.total)
Výsledkom je percentuálna obsadenosť diskového zväzku. V našom prípade Zabbix zobrazoval približne 38,27 %.

4. Vytvorenie upozornení (Triggers)
Po vytvorení monitorovacích položiek nastavíme v Zabbixe automatické upozornenia na nedostatok voľného miesta na diskovom zväzku /volume1.
Použijeme dva triggery:
- Warning – pri obsadenosti disku nad 80 %.
- High – pri obsadenosti disku nad 90 %.
Oba triggery budú vyhodnocovať obsadenosť počas päťminútového časového okna, aby krátkodobé výkyvy nespôsobovali zbytočné upozornenia.
V Zabbixe otvoríme:
Data collection → Hosts → nas.ibasterisk.local → Triggers → Create trigger
4.1 Vytvorenie Warning triggera
Ako prvý vytvoríme trigger so závažnosťou Warning, ktorý upozorní na zaplnenie diskového zväzku /volume1 nad 80 %.
| Parameter | Hodnota |
|---|---|
| Name | Synology: Volume1 disk space is low |
| Severity | Warning |
| OK event generation | Expression |
| Enabled | Yes |
Do poľa Expression vložíme:
min(/nas.ibasterisk.local/synology.volume1.pused,5m)>80

Trigger sa aktivuje, keď je obsadenosť zväzku /volume1 nad 80 % počas celého päťminútového okna.
Po vyplnení klikneme na Add, čím trigger uložíme.
4.2 Vytvorenie kritického triggera
Rovnakým postupom vytvoríme druhý trigger, ktorý upozorní na kritické zaplnenie diskového zväzku.
| Parameter | Hodnota |
|---|---|
| Name | Synology: Volume1 disk space is critically low |
| Severity | High |
| OK event generation | Expression |
| Enabled | Yes |
Do poľa Expression vložíme:
min(/nas.ibasterisk.local/synology.volume1.pused,5m)>90
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.