Ako sme zapojili stovky koncových zariadení po Slovensku do monitorovania
Spravovanie rozsiahlej siete geograficky distribuovaných zariadení predstavuje komplexnú technickú aj organizačnú výzvu. V našom prípade ide o viac ako 700 samostatne fungujúcich zariadení rozmiestnených po celom území Slovenska. Tieto zariadenia pracujú na operačnom systéme Linux a sú nasadené v rôznych podmienkach – či už v mestských oblastiach so štandardnou infraštruktúrou, alebo v odľahlejších lokalitách s obmedzeným pripojením do internetu.
Našim cieľom je zabezpečiť ich plynulú prevádzku a včasne identifikovať potenciálne problémy. Práve preto sme vybudovali riešenie, ktoré umožňuje aktívne a centralizovane monitorovať stav každého zariadenia, bez ohľadu na jeho aktuálne sieťové podmienky.
Význam monitorovania
Cieľom monitorovania nie je len reaktívne zaznamenávanie porúch, ale predovšetkým proaktívna prevencia. Včasné odhalenie symptómov, ako napríklad zvyšujúcej sa teploty CPU, nadmernej využívania RAM alebo postupné zlyhávanie SD karty, môže predísť nečakaným výpadkom a zníženiu dostupnosti služieb. Rovnako dôležité je aj rýchle odhalenie nefunkčných zariadení, ktoré prestali komunikovať so serverom, čo nám umožňuje reagovať a plánovať servisné zásahy.
Akou výbavou disponujú zariadenia ?
Každé zariadenie je distribuované s vlastným softvérovým stackom, ktorý okrem aplikačného jadra obsahuje aj komponent zabezpečujúci „call home“ funkcionalitu. Tento komponent pravidelne overuje, či existuje požiadavka na nadviazanie spojenia so serverom, a v prípade potreby iniciuje SSH spojenie s centrálnym „jump hostom“. To nám umožňuje bez nutnosti verejných IP adries alebo port forwardingu pristupovať k zariadeniu, ako keby bolo priamo v lokálnej sieti.
Softvér je navrhnutý tak, aby fungoval spoľahlivo aj v nestabilných sieťach, s podporou opakovaných pokusov o spojenie a fallback logikou v prípade zlyhania primárneho endpointu.
Implementácia centrálneho monitorovania
Na serverovej strane sme vybudovali viaceré komponenty, ktoré spolupracujú v rámci monitorovacieho čí interakčného procesu:
- Monitorovací nástroj je centrálna webová aplikácia, ktorá umožňuje správcom definovať požiadavky na monitoring jednotlivých zariadení. Tu zadávame, ktoré metriky chceme sledovať (napr. CPU load, teplota, kapacita SD karty, uptime atď.) a ktorým zariadeniam majú byť tieto účely priradené.
- Tieto požiadavky sa zapisujú do Call Home databázy, ktorú jednotlivé zariadenia periodicky kontrolujú. Po detekcii novej požiadavky zariadenie iniciuje SSH spojenie cez zabezpečený tunel na SSH Jump Host.
- V momente, keď sa zariadenie pripojí, nasleduje proces onboardingu, počas ktorého sa načítajú skripty pre zber metrických dát a nastavenia potrebné pre pravidelný reporting.
- Zariadenie následne periodicky odosiela zozbierané dáta do centrálneho monitorovacieho nástroja cez bezpečný kanál. Tieto dáta sú uchovávané v databáze a vizualizované v monitorovacom nástroji, ktorý ich aj vyhodnocuje a vytvára udalosti ktoré sú použité v procesoch riadenia incidentov. Monitorovací nástroj je centrálna webová aplikácia, ktorá umožňuje správcom definovať požiadavky na monitoring jednotlivých zariadení. Tu zadávame, ktoré metriky chceme sledovať (napr. CPU load, teplota, kapacita SD karty, uptime atď.) a ktorým zariadeniam majú byť tieto účely priradené.
- Tieto požiadavky sa zapisujú do Call Home databázy, ktorú jednotlivé zariadenia periodicky kontrolujú. Po detekcii novej požiadavky zariadenie iniciuje SSH spojenie cez zabezpečený tunel na SSH Jump Host.
Zberané metriky a analýza
Medzi najdôležitejšie parametre, ktoré vyhodnocujeme, patria:
- Stav a životnosť SD karty (pomocou SMART atribútu a sledovania IO errorov)
- Prehrievanie CPU (napr. pravidelný nárast nad 80 °C)
- Neplánované výpadky alebo opakované rebooty mimo definovaných servisných okien
- Nadmerne využívanie RAM a SWAP pamäte, ktoré môže signalizovať problémy s bežiacimi procesmi
Okrem toho logujeme aj históriu sieťového pripojenia, časy odozvy na ping/HTTP healthcheck a dostupnosť služieb, ktoré zariadenie poskytuje.
Architektúra
Schéma znázorňuje jednotlivé komponenty a ich vzájomné prepojenie. Od centrálneho nástroja cez databázu po vzdialené zariadenia, každý krok zabezpečuje spoľahlivý tok informácií.

Skúsenosti a ďalší rozvoj
V praxi sa systém osvedčil ako robustné riešenie, ktoré nám šetrí nielen náklady, ale aj čas technického personálu. Vďaka nemu dokážeme cielene identifikovať zariadenia v kritickom stave a zasiahnuť skôr, ako problém eskaluje.
Celkovo ide o riešenie, ktoré by sa dalo s minimálnymi úpravami škálovať aj na tisíce zariadení v rôznych doménach – od IoT po priemyselný monitoring.
Viac si možete o tejto téme prečítať aj v našom blogu: Ako monitoring pomáha udržať systémy v chode?