Dohľadové systémy

07.07.2008 21:49 | betmen

V nasledujúcom seriáli sa budeme zaoberať tým, čo dohľadové systémy sú, na čo slúžia a konkrétnymi príkladmi tvorenými komunitou.

Dohľadovým alebo monitorovacím systémom môžeme s prižmúrením oka nazvať aj jednoduchý skript, ktorý dokáže poslať email pri zaplnení disku alebo rozmlátenom RAIDe a podobne. Komplexné dohľadové systémy sú už dedikovanými službami, ktoré dokážu monitorovať či už lokálne alebo vzdialené systémy, ich služby a spracovávať rôzne ukazovateľe, ktoré by mohli naznačovať vznik problému (výkonnosť, teplota). Okrem toho dokážu veľmi dobre poskytovať prehľad o sieťovej infraštruktúre – dĺžky odoziev, nedostupnosť bodov... Potom poinformujú zodpovedných ľudí o tom, že niečo sa ide pokakať, resp. sa niečo už pokakalo a podľa vážnosti aj dôvod, aby sme sa pokakali aj my.

Komplexné monitorovanie s notifikáciami (mail, sms, instantné správy) používame hlavne v prípadoch, kedy máme viacero nezávislých alebo závislých systémov, máme viacero ľudí, ktorí sú za ne zodpovední, máme SLA (service level agreement) s klientmi, ktoré nám namiesto vyhrážok pripomínajú, čo sa nám stane, keď systémy nebudú fungovať podľa podmienok. Preto musíme vedieť o probléme včas – ideálne skôr, ako bude volať klient (ešte lepšie ak ošetríme nezodpovednosť v prípade problémov u providera a alibisticky sa potom vyhovárame na neho). A musíme o probléme vedieť aj vtedy, kedy nemáme bezprostredný prístup k počítaču alebo daným systémom (rozumej nevidíme na obrazovke, že niečo nie je ok). Preto sú takéto systémy bežné hlavne vo firmách, ktoré spravujú rádovo desiatky serverov.

Z komerčných systémov to dokážu aj také veľké molochy ako HP OpenView či IBM Tivoli (okrem kvanta iných schopností). Keďže sú komerčné, tak v tomto seriáli sú fuj, mňam budú iba komunitné. Keby sme totiž veľmi potrebovali, ku každému z troch o chvíľu spomenutých si môžeme dokúpiť aj komerčnú podporu. Všetky tri sú vydávané pod GNU GPL 2. Budú to Nagios, Zabbix a Zenoss, lebo nedávno som medzi nimi vyberal vhodné riešenie pre nové dohľadové „centrum“ (áno, už budem písať v jednotnom čísle, lebo ma prestal baviť ten škaredý zlý inkluzívny plurál).

Nagios je napísaný v C a Perli a zatiaľ som sa s ním stretával najčastejšie. Zrejme to súvisí aj s jeho tradíciou, lebo ak ma plešina neklame, je najstarším použiteľným z týchto troch a to výrazne. Tvoria ho tri základné časti – nagios ako služba poskytujúca hlavné funkcie (konfig, akcie...). Druhou časťou sú pluginy, ktoré umožňujú Nagiosu monitorovať jednotlivé služby, jednotlivé vlastnosti systému atď. Treťou je webové rozhranie (frontend ak chcete), ktoré sa spúšťa ako CGI a je to mutant skombinovaný z Perlu a C (existuje aj nejaká PHP alternatíva, ktorú zatiaľ nemám prebehnutú, ale zrejme bude súčasťou seriálu). Ďalej môže obsahovať prídavky (tzv. addons), ktorých sú kilogramy. Spomeniem dva najpodstatnejšie (pri Zabbixe zistíte prečo) – NRPE, ktorý slúži na spúšťanie pluginov na vzdialených strojoch. Takýmto spôsobom získa Nagios informácie o rôznych ukazovateľoch vnútorného prostredia vzdialeného systému – využitie systému, teplota prípadne iné. Protikladom je NSCA, ktorý slúži na pasívny príjem informácií zo vzdialeného systému. Pomocou prídavkov je možné aj dáta ukladať do relačnej databázy, štandardne to Nagios nerobí.

Druhým je Zabbix. Na rozdiel od Nagiosu sa sústreďuje práve na on side vzdialené monitorovanie (to, na čo Nagios používa NRPE resp. NSCA). Tiež sa skladá z 3 hlavných častí – zabbix servera, ktorý všetkému šéfuje, zabbix agentov – čo sú dedikované služby na monitorovaných systémoch, obe časti napísané v C a web rozhrania napísaného v PHP. V porovnaní s Nagiosom si ukladá informácie aj konfigurácie atď. do databázy, ktorú si môže každý zvoliť podľa ľubovôle(viac-menej sa nakŕmi ktoroukoľvek dnešnou relačnou databázou).

Do tretice Zenoss. Aby mali ľudia na výber, tento je pre zmenu napísaný kompletne v Pythone, na rozdiel od predošlých si spúšťa jednotlivé komponenty ako samostatné služby (modeler, eventlog, ...), webrozhranie je napísané v Zope, takže potrebujete aj tento aplikačný server. Je veľký kamarát s SNMP, nepohrdne však ani so vzdialenými pluginmi, takže aj prípadní proti-snmp fundamentalisti si prídu na svoje. Eventy si ukladá do MySQL, podobne ako Zabbix, svoje zistenia dokáže pekne farbičkovať v grafoch. Tvorcovia vydávajú aj komerčnú Zenoss Enterprise verziu.

V pokračovaní seriálu ich preberiem v poradí, ktoré som popísal. Okrem toho, že je to abecedné, kopíruje to chronológiu mojej práce s danými systémami. Všetky budem demonštrovať na identickom umelo vytvorenom prostredí využívajúcom CentOS 5.2. Keďže Nagios a Zabbix oficiálne nevydávajú balíky pre RHEL (CentOS), pri nich popíšem aj ich získanie. Mám v pláne približne týždennú periodicitu (vrátane osobných telesných trestov, keby som sa chcel tejto samourčenej povinnosti vyhnúť).

    • Re: Dohľadové systémy 07.07.2008 | 22:23
      schrapnel   Návštevník

      Hmmm zaujimave, na nagios sa asi pozriem, aj ked mne uz strpcuje zivot Tivoli :)

      • Re: Dohľadové systémy 16.07.2008 | 19:02
        Avatar tnt   Používateľ

        nejak som sa vratil este raz k zaciatku serialu a chem sa spytat,
        ktory system si teda vybral ?

        " ...lebo nedávno som medzi nimi vyberal vhodné riešenie pre nové dohľadové „centrum“"

        • Re: Dohľadové systémy 17.07.2008 | 00:41
          Avatar betmen   Používateľ

          neuviedol som to zamerne nech sa kazdy rozhodne podla serialu (aj ked urcite zavazi kvalita popisu jednotlivych systemov podla toho ake mam o nich znalosti) a nech je to napinavejsie ako v nekonecnych situacnych komediach
          ______________
          nález plný strát

          ______________ kam by som chodil...na dvor
    • Re: Dohľadové systémy 09.07.2008 | 10:10
      Pistik   Návštevník

      bol som tvrdohlavy a pouzivam Munin (na rrdtoole postavene malovatko na grafy + mail notifikacia).

      tesim sa pokracovanie serialu, najma o nagiose ;)