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
V /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