Zrýchľujeme Nagios I.

Ak to myslíme so sieťou vážne, musíme monitorovať jej stav a zdravie jej služieb. Pri malých sieťach s počtom zariadení rádovo v desiatkach je celá problematika jednoduchá a postačíme si aj s default nastaveniami. Čo ak sa ale sieť „trochu rozrástla“ na niekoľko stoviek zariadení a niekoľko tisíc služieb a Nagiosu začína dochádzať dych?

Presne tomuto problému som bol vystavený už dlho. Dlho som riešenie odkladal s nádejou, že „to ešte vydrží, stačí len update alebo upgrade“. Až dnes som si však našiel čas pozrieť sa problému na zúbok.

Náš firemný Nagios monitoruje sieť pozostávajúcu s niekoľkých desiatok routerov, switchov, rádií a ďalšej bižutérie na rozlohe troch-štyroch okresov. Samozrejme, pri toľkom počte zariadení má čo robiť, aby celú sieť obehol a skontroloval. Problémom však bol fakt, že takáto záťaž sa prejavovala aj ako zýšená latencia a jitter pri samotnej práci so serverom cez SSH a takisto skresľovala niektoré merania latencie, čo malo za následok plané poplachy.

Čo toľko spomaľovalo Nagios? I/O operácie. Použitím programu iotop z rovnomerného balíčka som sa len uistil, že zvýšenú záťaž na I/O operácie vytvára samotný Nagios. Niekoľkými dobre mierenými otázkami do Googlu som prišiel na riešenie. Premiestniť spool adresár do ramdisku. A pomohlo to.

Ukážme si, ako na to. Najprv si vytvoríme prípojný bod, trebárs /var/ramdrive.

mkdir /var/ramdrive

/etc/fstab si definujeme systém a detaily okolo neho:

tmpfs /var/ramdrive tmpfs size=128M,mode=0755,uid=1001,gid=1001 0 0

Veľkosť ramdisku 128MB bohato stačí na uloženie všetkých potrebných údajov. Za uid=1001,gid=1001 dosaďte údaje o UID a GID užívateľa a skupiny nagios na vašom systéme. Ramdisk pripojíme a vytvoríme základnú súborovú štruktúru.

mount /var/ramdrive
mkdir -p /var/ramdrive/spool/checkresults

Ostáva už len zmeniť parametre v nagios.cfg.

object_cache_file=/var/ramdrive/objects.cache
status_file=/var/ramdrive/status.dat
check_result_path=/var/ramdrive/spool/checkresults

Ak používame aj zber a vizualizáciu performance dát pomocou PNP4Nagios, môžeme obdobne nastaviť ukladanie týchto údajov do ramdisku. Po reštarte pomocou /etc/init.d/nagios restart bude náš systém rýchlejší vďaka tomu, že všetky náročné zápisy a režijné operácie bude Nagios vykonávať v ramdisku.

Priznávam, že je to len krátkodobé riešenie do času, kedy aj tento setup narazí na svoje limity a distribuovanému monitorovaniu sa proste nevyhneme, ale zatiaľ to postačí 🙂

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *