ˇ ´I TECHNICKE´ V BRNEˇ VYSOKE´ UCEN BRNO UNIVERSITY OF TECHNOLOGY
ˇ ´ICH TECHNOLOGI´I FAKULTA INFORMACN ˇ ´ICH SYSTEM ´ ´ U ˚ USTAV INFORMACN FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS
´ ´I SYSTEM ´ U ˚ PRO SLEDOVAN ´ ´I PROVOZU SROVNAN ˇ ´ITACOV ˇ ´ POC YCH S´IT´I
´ RSK ˇ ´ PRACE ´ BAKALA A BACHELOR’S THESIS
´ AUTOR PRACE AUTHOR
BRNO 2007
ˇ VOZDECKY ´S ´ LUKA
ˇ ´I TECHNICKE ´ V BRNE ˇ VYSOKE´ UCEN BRNO UNIVERSITY OF TECHNOLOGY
ˇ ´ICH TECHNOLOGI´I FAKULTA INFORMACN ˇ ´ ´ U ˚ USTAV INFORMACN´ICH SYSTEM FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS
´ ´I SYSTEM ´ U ˚ PRO SLEDOVAN ´ ´I PROVOZU SROVNAN ˇ ´ITACOV ˇ ´ POC YCH S´IT´I COMPARISON OF SYSTEMS FOR MONITORING OF COMPUTER NETWORKS
´ RSK ˇ ´ PRACE ´ BAKALA A BACHELOR’S THESIS
´ AUTOR PRACE
ˇ VOZDECKY ´S ´ LUKA
AUTHOR
´ VEDOUC´I PRACE SUPERVISOR
BRNO 2007
ˇ Ing. RUDOLF CEJKA
Abstrakt Pr´ace se zab´yv´a srovn´an´ım tˇr´ı open–source Linux/Unix aplikac´ı Nagios, Zabbix, Big Sister slouˇz´ıc´ıch k monitorov´an´ı stavu a sluˇzeb poˇc´ıtaˇcov´e s´ıtˇe. Pro kaˇzdou aplikaci je uveden struˇcn´y princip konfigurace a sledov´an´ı s´ıtˇe. Pro srovn´an´ı je pouˇzit seznam akc´ı a probl´em˚u, se kter´ymi se lze v bˇezˇ n´em provozu setkat nejˇcastˇeji. Pro jednotliv´e aplikace je pak naznaˇcen zp˚usob ˇreˇsen´ı, vˇcetnˇe konkr´etn´ıho postupu v dan´e aplikaci.
Kl´ıcˇ ov´a slova Nagios, Zabbix, Big Sister, jak monitorovat poˇc´ıtaˇcovou s´ıt’, n´astroje pro monitorov´an´ı poˇc´ıtaˇcov´e s´ıtˇe
Abstract This thesis is comparison of three open–source Linux/Unix network monitoring applications Nagios, Zabbix, Big Sister. Every application is described according to its basic fundamentals. The comparison is done through managing series of tests based on real environment experience. Solution to these problems and specific procedure differencies are described for each application.
Keywords Nagios, Zabbix, Big Sister, how to monitor computer network, network monitoring tools
Citace Luk´asˇ Vozdeck´y: Srovn´an´ı syst´em˚u pro sledov´an´ı provozu poˇc´ıtaˇcov´ych s´ıt´ı, bakal´aˇrsk´a pr´ace, Brno, FIT VUT v Brnˇe, 2007
Srovn´an´ı syst´em˚u pro sledov´an´ı provozu poˇc´ıtaˇcov´ych s´ıt´ı Prohl´asˇen´ı Prohlaˇsuji, zˇ e jsem tuto bakal´aˇrskou pr´aci vypracoval samostatnˇe pod veden´ım pana Ing. Rudolfa ˇ Cejky. Uvedl jsem vˇsechny liter´arn´ı prameny a publikace, ze kter´ych jsem cˇ erpal. ....................... Luk´asˇ Vozdeck´y 10. kvˇetna 2007
c Luk´asˇ Vozdeck´y, 2007.
Tato pr´ace vznikla jako sˇkoln´ı d´ılo na Vysok´em uˇcen´ı technick´em v Brnˇe, Fakultˇe informaˇcn´ıch technologi´ı. Pr´ace je chr´anˇena autorsk´ym z´akonem a jej´ı uˇzit´ı bez udˇelen´ı opr´avnˇen´ı autorem je nez´akonn´e, s v´yjimkou z´akonem definovan´ych pˇr´ıpad˚u.
Obsah ´ 1 Uvod
2
2
3
4
Nagios 2.1 Prerekvizity . . . . . . 2.2 Konfigurace . . . . . . 2.2.1 Server . . . . . 2.2.2 Agent . . . . . 2.3 Monitorov´an´ı provozu 2.3.1 Kontrola stanic 2.3.2 Kontrola sluˇzeb 2.4 Pouˇzit´ı v praxi . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
3 3 3 3 5 5 5 5 5
Zabbix 3.1 Prerekvizity . . . . . . . 3.2 Konfigurace . . . . . . . 3.2.1 Server . . . . . . 3.2.2 Webov´e rozhran´ı 3.2.3 Agent . . . . . . 3.3 Monitorov´an´ı provozu . 3.4 Pouˇzit´ı v praxi . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
10 10 10 10 11 11 11 13
. . . . . .
18 18 18 18 19 19 20
Big Sister 4.1 Prerekvizity . . . . . . 4.2 Konfigurace . . . . . . 4.2.1 Server . . . . . 4.2.2 Agent . . . . . 4.3 Monitorov´an´ı provozu 4.4 Pouˇzit´ı v praxi . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
5
Srovn´an´ı Nagios, Zabbix a Big Sister
22
6
Z´avˇer
23
1
Kapitola 1
´ Uvod Rozvoj poˇc´ıtaˇcov´ych technologi´ı je do znaˇcn´e m´ıry ekvivalentn´ı pojmu rozvoj poˇc´ıtaˇcov´ych s´ıt´ı a jejich u´ drˇzba. Poˇc´ıtaˇcov´e sluˇzby jsou zˇr´ıdka poskytov´any a vyuˇz´ıvany jin´ym zp˚usobem neˇz prostˇrednictv´ım poˇc´ıtaˇcov´e s´ıtˇe. Kvalita sluˇzeb je tak pˇr´ımo u´ mˇern´a efektivn´ımu monitorov´an´ı sit’ov´eho provozu. Problematikou pr´ace je porovn´an´ı tˇr´ı nejrozˇs´ıˇrenˇejˇs´ıch open-source aplikac´ı pro monitorov´an´ı ’ s´ıt ov´ych prvk˚u Nagios, Zabbix a Big Sister. Jsou uvedeny obecn´e informace o zp˚usobu konfigurace a fungov´an´ı jednotliv´ych aplikac´ı vˇcetnˇe obecn´e struktury konfiguraˇcn´ıch soubor˚u i konkr´etn´ıch pˇr´ıklad˚u. Podat pˇresn´y popis vˇsech atribut˚u jednotliv´ych aplikac´ı nen´ı c´ılem t´eto pr´ace. Informace tohoto typu jsou detailnˇe probr´any zde [5, 6, 3]. Studium a pouˇz´ıv´an´ı t´eto dokumentace je doporuˇceno paralelnˇe se studiem t´eto prac´ı. Z´aroveˇn je pˇredpokl´ad´ano alespoˇn letm´e sezn´amen´ı se s problematikou sledov´an´ı provozu poˇc´ıtaˇcov´ych s´ıt´ı. Stˇezˇ ejn´ım bodem pr´ace je soubor nejˇcastˇejˇs´ıch akc´ı, se kter´ymi se osoba povˇeˇren´a spr´avou a monitorov´an´ım s´ıtˇe m˚uzˇ e setkat v praxi. Mezi tyto akce patˇr´ı r˚uzn´a nastaven´ı v souvislosti s notifikac´ı o nedostupnosti sluˇzeb. D´ale pak specifikace r˚uzn´ych monitorovac´ıch interval˚u pro r˚uzn´e sluˇzby s ohledem na aktu´aln´ı stav, ve kter´em se dan´a sluˇzba nach´az´ı. V posledn´ı ˇradˇe pak podrobnˇejˇs´ı monitorov´an´ı vzd´alen´ych stanic. Tyto u´ kony jsou stejn´e pro kaˇzdou aplikaci, a jsou zpracov´any v z´avˇereˇcn´ych kapitol´ach jednotliv´ych sekc´ı. Pˇr´ıstup a efektivita jejich ˇreˇsen´ı jsou pak hlavn´ım krit´eriem pˇri srovn´an´ı monitorovac´ıch aplikac´ı. Obecn´e aspekty monitorovac´ıch aplikac´ı, kter´e nebylo moˇzn´e zaˇradit a porovnat v r´amci jednotliv´ych syst´em˚u, jsou dodateˇcnˇe zm´ınˇeny v z´avˇereˇcn´e kapitole Srovn´an´ı Nagios, Zabbix a Big Sister. Z´aroveˇn je zde upozornˇeno na podstatn´e rozd´ıly jednotliv´ych aplikac´ı a z nab´ızen´ych ˇreˇsen´ı doporuˇceno to nejefektivnˇejˇs´ı.
2
Kapitola 2
Nagios 2.1
Prerekvizity
Monitorov´ac´ı aplikace Nagios je open-source k dispozici na http://www.nagios.org. Provoz vyˇzaduje n´asleduj´ıc´ı komponenty • OS typu Linux/Unix • Nagios-plugins Jedn´a se o nˇekolik skript˚u nebo bin´arn´ıch soubor˚u, kter´e jsou samostanˇe schopny vyhodnotit dostupnost urˇcit´e sluˇzby a v´ysledek pˇredat hlavn´ı aplikaci. • Web server Doporuˇcen Apache s podporou gd knihovny Thomase Boutella verze 1.6.3 nebo novˇejˇs´ı (pozˇ adov´ano pro stavovou mapu a trendy CGI). • NRPE Nagios agent pro monitorov´an´ı vzd´alen´ych stanic s OS typu Linux/Unix. • NSClient ++ Nagios agent pro monitorov´an´ı vzd´alen´ych stanic s OS typu Windows. K dispozici na http://sourceforge.net/projects/nscplus. Podrobnˇejˇs´ı informace k t´eto problematice viz [5].
2.2 2.2.1
Konfigurace Server
Serverov´e rozhran´ı Nagios je konfigurov´ano prostˇrednictv´ım nˇekolika textov´ych soubor˚u. Veˇsker´e zmˇeny v konfiguraˇcn´ıch souborech si vyˇzaduj´ı restart procesu, aby nabyly platnosti.
3
Hlavn´ı konfiguraˇcn´ı soubor Z´akladn´ım prvkem konfigurace je hlavn´ı konfiguraˇcn´ı soubor, kter´y je pˇred´av´an pˇri spuˇstˇen´ı programu jako parametr. Prvn´ı skupinou dat jsou cesty k ostatn´ım konfiguraˇcn´ım soubor˚um, log souboru a stavov´emu souboru (obsahuje data popisuj´ıc´ı v´ysledky monitorov´an´ı, kter´a jsou projektov´ana na webov´e rozhran´ı). Dalˇs´ı skupinou nastaven´ı je povolen´ı nebo zak´az´an´ı urˇcit´ych aspekt˚u monitorov´an´ı (notifikace, extern´ı pˇr´ıkazy). Makro soubor Obsahuje uˇzivatelem definovan´a makra, kter´a lze pouˇz´ıt napˇr. v definici pˇr´ıkazu. Jak se makra pouˇz´ıv´aj´ı je objasnˇeno zde [5]. Soubory s objekty monitorov´an´ı Obsahuj´ı data, kter´a se vztahuj´ı k tomu, co se bude monitorovat. Lze zde definovat a popsat tyto z´akladn´ı typy objekt˚u: • Sluˇzby – service Vztahuj´ı se vˇzdy k nˇejak´emu objektu typu stanice a popisuj´ı jeho vlastnosti (z´atˇezˇ procesoru, voln´e m´ısto na pevn´em disku) nebo j´ım poskytovan´e sluˇzby (ftp, http). • Skupina sluˇzeb – servicegroup Skupina objekt˚u typu sluˇzba. • Stanice – host Fyzick´e zaˇr´ızen´ı na s´ıti, ke kter´emu se vztahuj´ı vybran´e sluˇzby nebo jich vyuˇz´ıv´a. • Skupina stanice – hostgroup Skupina objekt˚u typu stanice. • Kontakt – contact Osoby, na jejichˇz kontaktn´ı adresu (email, telefonn´ı cˇ´ıslo) bude doruˇcena notifikace. • Skupina kontaktu˚ – contactgroup Skupina objekt˚u typu kontakt. • Pˇr´ıkazy – command Obsahuj´ı vol´an´ı programu nebo skriptu, ktera budou spuˇstˇeny v r´amci monitorovac´ı nebo notifikaˇcn´ı akce (napˇr. notifikace pomoc´ı emailu, pouˇzije k rozesl´an´ı zpr´avy program mail, tˇelo zpr´avy bude obsahovat informace o monitorovan´e sluˇzbˇe. V syntaxi Nagiosu bude toto reprezentov´ano jedn´ım pˇr´ıkazem notify-by-email). ˇ ´ • Casov´ y usek – timeperiod Urˇcuje dobu, po kterou budou stanice a sluˇzby monitorov´any a rozes´ıl´any notifikace. CGI konfiguraˇcn´ı soubor Webov´e rozhran´ı Nagios je konstruov´ano prostˇrednictv´ım CGI skript˚u. V konfiguraˇcn´ım souboru jsou uloˇzeny informace o um´ıstˇen´ı html soubor˚u, o zaveden´ı autentizovan´eho pˇr´ıstupu a dalˇs´ı data podobn´eho charakteru.
4
2.2.2
Agent
Agent Nagios (NRPE, NSClient ++) je konfigurov´an jedn´ım textov´ym souborem. Neobsahuje zˇ a´ dn´a data podobn´a konfiguraˇcn´ım soubor˚um serverov´e cˇ a´ sti aplikace. Nejd˚uleˇzitˇejˇs´ımi ud´aji je seznam IP adres Nagios server˚u, se kter´ymi m´a agent povoleno komunikovat.
2.3
Monitorov´an´ı provozu
Soubory s objekty monitorov´an´ı obsahuj´ı struktury (typy objekt˚u) jejichˇz souˇca´ st´ı jejichˇz souˇca´ st´ı jsou nagios-pluginy, coˇz znamen´a, zˇ e konkr´etn´ı typ objektu (stanice, sluˇzba) jsou monitorov´any prostˇrednictv´ım tohoto pluginu.
2.3.1
Kontrola stanic
Kontroly stanic jsou prov´adˇeny v r´amci sktruktury Stanice v Souborech s objekty monitorov´an´ı. Monitorov´an´ı je v pˇr´ıpadˇe Kontroly stanic plnˇe ˇr´ızeno Nagiosem. V´yznam Kontroly stanic spoˇc´ıv´a v otestov´an´ı dostupnosti zaˇr´ızen´ı, pokud libovoln´a Kontrola sluˇzby vr´at´ı status non-OK, tzn. zda je c´ılov´e zaˇr´ızen´ı v˚ubec k dispozici, zda m´a smysl prov´adˇet na tomto zaˇr´ızen´ı dalˇs´ı s n´ım asociovan´e Kontroly sluˇzeb.
2.3.2
Kontrola sluˇzeb
Kontroly sluˇzeb jsou prov´adˇeny v r´amci sktruktury Sluˇzba v Souborech s objekty monitorov´an´ı. Kontroly sluˇzeb jsou hlavn´ı prostˇredek pro monitorov´an´ı s´ıtˇe. Struktura Sluˇzba obsahuje zejm´ena tyto poloˇzky. Sluˇzba se vztahuje k zaˇr´ızen´ı v host_name, plugin je uveden v check_command a m˚uzˇ e vyˇzadovat dalˇs´ı parametry. Poloˇzka contact_groups urˇcuje skupinu uˇzivatel˚u, kter´a obdrˇz´ı pˇr´ıpadn´e notifikace. Seznam a popis vˇsech poloˇzek struktury zde naj´ıt v [5].
2.4
Pouˇzit´ı v praxi
Interval monitorov´an´ı Vyhodnocen´ı statutu sluˇzby (dostupn´a – OK, nedostupn´a – CRITICAL) prob´ıh´a na z´akladˇe nˇekolika pokus˚u s r˚uzn´ymi cˇ asov´ymi intervaly mezi jednotliv´ymi pokusy. Pro nˇekter´e sluˇzby je vhodn´e pouˇz´ıt delˇs´ı cˇ asovou prodlevu, vˇetˇs´ı poˇcet opakov´an´ı, pro jin´e tomu m˚uzˇ e b´yt naopak. Poloˇzka max_check_attempts urˇcuje poˇcet pokus˚u (poˇcet spuˇstˇen´ı pluginu check_ftp), po kter´ych bude status vyhodnocen jako CRITICAL. Mezi pokusy je interval retry_check_interval minut. Pokud bude sluˇzba vyhodnocena jako OK, dalˇs´ı testov´an´ı n´asleduje za normal_check_interval minut. define service{ host_name service_description check_period max_check_attempts normal_check_interval retry_check_interval contact_groups
localhost ftp-localhost 24x7 4 5 1 admins 5
notification_interval notification_period notification_options check_command }
960 24x7 w,u,c,r check_ftp
Timeout Maxim´aln´ı doba, po kterou se bude testov´an´ı sluˇzby (Kontrola sluˇzby) pokouˇset o u´ spˇesˇn´y dotaz pluginem, je v hlavn´ım konfiguraˇcn´ım souboru poloˇzka service_check_timeout. Standartnˇe je tato hodnota nastavena 10s. Timeout lze mˇenit i pˇr´ımo jako parametr pluginu, pokud je podporov´an.
Notifikace Poloˇzka contact_groups ve struktuˇre Sluˇzba urˇcuje skupinu kontakt˚u, kter´ym se budou zas´ılat notifikace o stavu sluˇzby. define service{ host_name service_description contact_groups ... }
localhost Current Load admins
Kontakt ze skupiny kontakt˚u ma ve sv´e struktuˇre emailovou adresu, pˇr´ıkazy pro jednotliv´e notifikace service_notification_commands, host_notification_commands a omezen´ı pˇr´ıjmu urˇcit´ych druh˚u v´ypadku service_notification_options, host_notification_option. define contactgroup{ contactgroup_name alias members }
admins Nagios Administrators nagios-admin
define contact{ contact_name alias service_notification_period host_notification_period service_notification_options host_notification_options service_notification_commands host_notification_commands email }
nagios-admin Nagios Admin 24x7 24x7 w,u,c,r d,r notify-by-email host-notify-by-email nagios-admin@localhost
Tˇelo pˇr´ıkazu, form´at zpr´avy a aplikace, kter´a zas´ıl´a notifikaci je specifikov´ana ve struktuˇre Pˇr´ıkaz v command_line.
6
define command{ command_name host-notify-by-email command_line /usr/bin/printf "%b" "***** Nagios @VERSION@ *****\n\n Notification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$ \n State: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | @MAIL_PROG@ -s "Host $HOSTSTATE$ alert for $HOSTNAME$!" $CONTACTEMAIL$ } define command{ command_name notify-by-email ... } Notifikace s ohledem na hierarchii s´ıtˇe Pˇri sloˇzitˇejˇs´ı topologii s´ıtˇe, kdy nˇekter´e jej´ı prvky tvoˇr´ı pods´ıtˇe a jsou dostupn´e(status UP) pˇres prvky typu router apod., je neefektivn´ı pˇr´ıj´ımat notifikace o nedostupnosti(status DOWN) sluˇzeb na poˇc´ıtaˇc´ıch v pods´ıti, pokud je samotn´a pods´ıt’ (resp. router, spojuj´ıc´ı pods´ıt’ se zbytkem sitˇe) nedostupn´a. Poloˇzka parents oˇsetˇruje tuto situaci. Pokud je stanice Router1 DOWN, je stanici Pc1 pˇriˇrazen m´ısto statutu DOWN, status UNREACHABLE. Poloˇzka notification_options pak umoˇznˇ uje regulovat zas´ıl´an´ı notifikac´ı, v tomto pˇr´ıpadˇe nen´ı pˇr´ıtomna podm´ınka na zasl´an´ı notifikace pˇri statutu UNREACHABLE(u). define host{ host_name parents alias address check_command max_check_attempts notification_interval notification_period notification_options }
Pc1 Router1 Web Server 192.168.1.5 check-host-alive 10 120 24x7 d,r
Testov´an´ı dostupnosti sluˇzeb pˇri nedostupnosti stanice Pokud libovoln´a Kontrola sluˇzby vr´at´ı non-OK status,provede se pˇr´ıkaz check-host-alive, kter´y je zodpovˇedn´y za zjiˇstˇen´ı statusu zaˇr´ızen´ı. Dokud check-host-alive nevr´at´ı status OK, nebude se Nagios pokouˇset monitorovat sluˇzby na dan´em zaˇr´ızen´ı. Flapping Nagios podporuje speci´aln´ı oˇsetˇren´ı stavu, kdy stanice nebo sluˇzba mˇen´ı sv˚uj stav velmi cˇ asto. V´ıce o t´eto problematice v dokumentaci [5]. Monitorov´an´ı vzd´alen´ych stanic Zisk´an´ı priv´atn´ıch informac´ı (z´atˇezˇ CPU) ze vzd´alen´ych stanic zajiˇst’uje v prostˇred´ı Nagios agent (NRPE pro Linux/Unix, NSClient ++ pro OS Windows), kter´y mus´ı bˇezˇ et na vzd´alen´em poˇc´ıtaˇci. 7
Spolu s NRPE mus´ı b´yt na vzd´alen´e stanici nainstalov´any nagios-pluginy. Vol´an´ı pˇr´ıkazu na vzd´alen´e stanici ze serveru se prov´ad´ı prostˇrednictv´ım speci´aln´ıho check_nrpe pluginu. Struktury v konfiguraˇcn´ım soubou na stranˇe serveru vypadaj´ı takto. define service{ host_name remotehost service_description Current Users check_command check_nrpe!check_users ... } define command{ command_name check_nrpe command_line /usr/local/nagios-plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ } Pro Windows je tˇreba nainstalovat NSClient ++, postup je analogick´y, pouze m´ısto ckeck_nrpe pluginu se pouˇzije plugin ckeck_nt. Vzd´alen´e sluˇzby lze testovat pˇres vzd´alen´e pˇripojen´ı SSH pluginem check_by_ssh, kter´y nevyˇzaduje agenta na vzd´alen´e stanici. Princip je podobn´y jako u v´ysˇe uveden´ych plugin˚u, syntaxe pouˇzit´ı je vˇsak jin´a. Pro pˇresn´y popis v´ıce na [5]. Obsluha ud´alost´ı Obsluha ud´alosti dovoluje spustit v okamˇziku probl´emu uˇzivatelem vytvoˇren´y skript, kter´y by se mˇel pokusit sluˇzbu opravit napˇr. restartovat sluˇzbu. Architektura Nagios automaticky definuje, kdy je takov´y skript spuˇstˇen. Nejprve se pokus´ı spustit skript v okamˇziku pˇredposledn´ıho testov´an´ı sluˇzby (test v poˇrad´ı max_check_attempts - 1) neˇz je proveden posledn´ı test pˇred vyvol´an´ım notifikace. A pak jeˇstˇe jednou pokud posledn´ı test (test v poˇrad´ı max_check_attempts) selˇze. Pokud od t´eto chv´ıle sluˇzba pˇretrv´av´a v CRITICAL stavu bude skript vol´an jednou za normal_check_interval dobu. Obsluha ud´alosti mus´ı b´yt povolena v hlavn´ım konfiguraˇcn´ım souboru v enable_event_handlers i u samotn´e sluˇzby event_handler_enabled. N´asleduj´ıc´ı konfigurac´ı se pomoc´ı skriptu script-restart-ftd Nagios pokus´ı restartovat FTP sluˇzbu zp˚usobem popsan´ym v´ysˇe. Cesta ke skriptu a jeho indentifik´ator je definov´an ve struktuˇre typu Command. define service{ host_name service_description max_check_attempts event_handler event_handler_enabled ... }
localhost ftp-localhost 4 restart-ftp 1
define command{ command_name restart-ftp command_line /usr/local/nagios-scripts/script-restart-ftp } 8
Rozˇs´ırˇ en´ı: Existuj´ı pˇr´ıkazy, kter´e lze pˇredat Nagiosu z jin´ych aplikac´ı (napˇr. prostˇrednictv´ım CGI rozhran´ı lze pˇredat pˇr´ıkaz, kter´y na specifickou dobu zruˇs´ı vˇsechny kontroly sluˇzeb t´ykaj´ıc´ı se poˇc´ıtaˇce pc1). Pˇr´ıkaz se zap´ısˇe do souboru nagios.cmd, kter´y je Nagiosem kontrolov´an jednou za command_check_interval sekund (lze nastavit v hlavn´ım konfiguraˇcn´ım souboru). Seznam jiˇz vytvoˇren´ych pˇr´ıkaz˚u a jejich syntaxe je k dispozici v [5]. Moˇznosti webov´eho rozhran´ı Nagios nelze prim´arnˇe konfigurovat prostˇrednictv´ım webov´eho rozhran´ı tzn. nelze mˇenit obsah konfiguraˇcn´ıch soubor˚u, pˇrid´avat nov´e stanice nebo sluˇzby. U monitorovan´ych sluˇzeb vˇsak lze napˇr. pl´anovat jejich prov´adˇen´ı, vypnout/zapnout obsluhu ud´alosti nebo notifikaci. Tvorba vlastn´ıch testovac´ıch skriptu˚ a aplikac´ı Nagios podporuje tvorbu nov´ych a modifikaci st´avaj´ıc´ıch plugin˚u. V´ıce zde [5, 4].
9
Kapitola 3
Zabbix 3.1
Prerekvizity
Monitorov´ac´ı aplikace Zabbix je open-source k dispozici na http://www.zabbix.org. Provoz vyˇzaduje n´asleduj´ıc´ı komponenty • OS typu Linux/Unix • Apache Verze 1.3.12 nebo novˇejˇs´ı. • MySQL (nebo PostgreSQL) Verze 3.22 MySQL nebo novˇejˇs´ı. Versze 7.0.2 PostgreSQL nebo novˇejˇs´ı. MySQL nebo PostgreSQL knihovny. • PHP Verze 4.0 nebo novˇejˇs´ı jako Apache modul. • PHP GD nebo GD2 modul Nutn´e pro zobrazen´ı graf˚u a map, podpora PNG grafick´eho form´atu. Podrobnˇejˇs´ı informace k t´eto problematice zde [6].
3.2 3.2.1
Konfigurace Server
Serverov´a cˇ a´ st Zabbix vyuˇz´ıv´a pro z´akladn´ı nastaven´ı konfigurace jeden konfiguraˇcn´ı soubor. Soubor neobsahuje data, kter´a bezprostˇrednˇe souvis´ı s konfigurac´ı monitorovan´ı. Konfiguraˇcn´ı data se t´ykaj´ı nastaven´ı pˇr´ıstupu k datab´azi, um´ıstˇen´ı logovac´ıho souboru atd.
10
3.2.2
Webov´e rozhran´ı
Konfigurace element˚u t´ykaj´ıc´ıch se samotn´eho monitorovan´ı prob´ıh´a v´yhradnˇe pˇres webov´e grafick´e rozhran´ı v sekci Configuration. Nastaven´ı informaˇcn´ıch parametr˚u je v podsekci General (Users, Housekeeper, Working Time) Lze ponechat implicitn´ı, je podobn´e i pro r˚uzn´e typy sledovan´ych s´ıt´ı. Z´akladn´ı konfigurace, zajiˇst’uj´ıc´ı monitorov´an´ı libovoln´e sluˇzby nebo stroje na s´ıti, lze prov´est konkr´etn´ım nastaven´ım v podsekc´ıch Hosts, Items, Triggers, Actions. Notifikaci zajist´ı nastaven´ı v Media Types, Media, Users. Sekce Maps, Graphs, Screens zprostˇredkov´avaj´ı v´ystup monitorov´an´ı do uˇzivatelsky pohodln´eho form´atu. Sekce Screens umoˇznˇ uje nakombinovat nˇekolik graf˚u vedle sebe a celou s´ıt’ tak je moˇzn´e sledovat na jedn´e obrazovce. Configuration → Hosts V t´eto sekci lze objekty v s´ıti zan´est do Zabbixu a zajistit tak jejich sledov´an´ı. Nov´a stanice se do syst´emu pˇrid´a vyplnˇen´ım formul´aˇre, pomoc´ı kter´eho lze stanici pˇriˇradit i dalˇs´ı atributy. Lze pouˇz´ıt speci´aln´ı sˇablonu (Link with template), kter´a podle povahy stroje (OS Windows nebo Unix, poˇstovn´ı server, datab´azov´y server) automaticky zavede sluˇzby, kter´e se pro dan´y typ pˇredpokl´adaj´ı. Configuration → Items Items jsou zp˚usob, jak do monitorovac´ıho systemu pˇridat nov´y element (co a kde m´a b´yt monitorov´ano). Zabbix obsahuje nˇekolik pˇreddefinovan´ych Items, kter´e se v´azˇ ou ke skupine zvolen´e v Configuration → Hosts pomoc´ı Link with Template. Pokud nechceme monitorovan´y objekt zaˇradit do zˇ a´ dn´e jiˇz pˇreddefinovan´e skupiny, mus´ı se mu Items pˇriˇradit samostatnˇe. Pro pˇrid´av´an´ı Items je potˇreba nastavit uˇzivateli pr´ava v Configuration → Users. Configuration → Triggers Pomoc´ı nˇekolika promˇenn´ych a oper´ator˚u lze sestavit v´yraz, kter´y vrac´ı TRUE, FALSE nebo UNKNOWN. Promˇenn´e v tomto pˇr´ıpadˇe pˇredstavuj´ı n´avratov´e hodnoty monitorovan´ych element˚u (n´avratov´e hodnoty z Items). Configuration → Actions Actions vyuˇz´ıv´a Triggers k vygenerov´an´ı akce, kterou je zpravidla notifikace (email, SMS zpr´ava) nebo vykonan´ı vzd´alen´eho pˇr´ıkazu. Configuration → Users → Media Nastaven´ı emailov´e adresy pro zas´ıl´an´ı notifikac´ı. V sekci Configuration → General → Media Types je potˇreba nastavit tot´ezˇ a specifikovat typ notifikace (email, SMS).
3.2.3
Agent
Zabbix Agent proces je nutn´y na vˇsech monitorovan´ych stanic´ıch vˇcetnˇe serveru. Omezen´e mnoˇzstv´ı sluˇzeb lze prov´est i bez agenta. Konfiguraˇcn´ı soubor obsahuje standartn´ı n´aleˇzitosti (IP adresu serveru a dalˇs´ı).
3.3
Monitorov´an´ı provozu
Monitorov´an´ı Zabbix spoˇc´ıv´a ve vytvoˇren´ı dostateˇcn´eho mnoˇzstv´ı Triggers (jejichˇz z´aklad tvoˇr´ı jeden nebo v´ıce Items) a jejich pouˇzit´ı v Actions pro notifikace. Vizu´alnˇe lze sledovat stav s´ıtˇe 11
a sluˇzeb v sekci Monitoring. Po ud´alosti Trigger se prochaz´ı vˇsechny Actions a testuje se zda byly splnˇeny i dodateˇcn´e podm´ınky (jm´eno poˇc´ıtaˇce, stupeˇn d˚uleˇzitosti ud´alosti a dalˇs´ı). Pokud ano, dojde k odeslan´ı zpr´avy, jej´ızˇ form´at a obsah je souˇca´ st´ı Actions formul´aˇre. Monitorovan´y element (Items) m˚uzˇ e b´yt nˇekolika r˚uzn´ych typ˚u. Typ se definuje pˇri tvorbˇe element˚u v Items ve formul´aˇri Create Item. Simple Checks Nevyˇzaduj´ı na monitorovan´e stanici bˇezˇ´ıc´ıho agenta. Pouˇz´ıvaj´ı se k monitorovani sluˇzeb, kter´e slouˇz´ı zejm´ena ostatn´ım objekt˚um v s´ıti (ftp, http). Internal checks Jedn´a se o monitorov´an´ı intern´ıch dat zabbixu (napˇr. poˇcet Triggers nebo Items). Aggregated checks Dotazy smˇeˇruj´ı pˇr´ımo na datab´azi zabbixu, ve kter´e jsou uloˇzeny data z´ıskan´a monitorov´an´ım (napˇr. prostˇrednictv´ım Simple checks, Agent checks). Na monitorovan´e stanici nen´ı vyˇzadov´an bˇezˇ´ıc´ı agent proces. Agent checks Umoˇznˇ uj´ı z´ıskat private data z monitorovan´ych poˇc´ıtaˇcu˚ (Voln´e m´ısto na pevn´em disku, z´atˇezˇ CPU). Vyˇzaduj´ı bˇezˇ´ıc´ı proces zabbix agent, kter´y se liˇs´ı podle povahy OS. SNMP checks Sb´ır´a data od snmp agent˚u, zabbix mus´ı b´yt nakonfigurov´an s podporou snmp, viz [6].
12
3.4
Pouˇzit´ı v praxi
Interval monitorov´an´ı Pˇri vytvoˇren´ı nov´e Item lze v poli Update Interval specifikovat cˇ as(s), po uplynut´ı t´eto doby se Zabbix bude pokouˇset z´ıskat novou hodnotu (znovu otestovat sluˇzbu).
Zabbix prov´ad´ı automaticky otestov´an´ı dostupnosti na b´azi pˇr´ıkazu ping. V konfiguraˇcn´ım souboru zabbix server.conf lze pro vˇsechny stanice nastavit interval PingerFrequency. Pokud tento pˇr´ıkaz neuspˇeje, dostav´a se stanice do stavu UNREACHABLE. Prostˇrednictv´ım poloˇzky UnreachableDelay urˇcuje frekvenci(s), s jakou se pokouˇset o opˇetovn´e spojen´ı se stanic´ı. Hodnota by mˇela b´yt menˇs´ı neˇz PingerFrequency. Po uplynut´ı doby UnreachablePeriod se stanice dotane do stavu UNAVAILABLE. Frekvenci, znovu se spojit se stanic´ı ve stavu UNAVAILABLE, lze opˇet specifikovat v UnavailableDelay. Zde je vhodn´e nastavit delˇs´ı dobu neˇz PingerFrequency, je m´alo pravdˇepodobn´e, zˇ e bude stanice v brzk´e dobˇe dostupn´a, menˇs´ı frekvence tak sn´ızˇ´ı z´atˇezˇ syst´emu. #Frequency of ICMP pings. PingerFrequency=30 13
#After how many seconds of unreachability treat a~host as unavailable UnreachablePeriod=45 #How often check host for availability during the unreachability period UnreachableDelay=15 #How often check host for availability during the unavailability period UnavailableDelay=60
Timeout Maxim´aln´ı doba, po kterou se bude Zabbix server cˇ ekat na agenta aˇz doruˇc´ı zpr´avu o stavu sledovan´e sluˇzby, jinak vr´ac´ı ne´uspˇech.
#Specifies how long we wait for agent (in sec) #Must be between 1 and 30 Timeout=5
Notifikace Pro monitorov´an´ı sluˇzeb na lok´aln´ım poˇc´ıtaˇci je vytvoˇrena n´asleduj´ıc´ı Item pˇres Configuratin → Items → Create Item.
Je vytvoˇren Trigger pˇres Configuration → Triggers → Create Trigger. N´asleduj´ıc´ı Trigger se spust´ı pokud Item v tˇele Triggeru vr´at´ı FALSE.
14
a vyvol´a akci Configuration → Actions → Create Action.
kde IP adresa pc1 je 127.0.0.1, zpr´ava bude zasl´ana uˇzivateli Admin, jeho emailov´a adresa se nastavuje v Configuration → User → Media. Rozes´ıl´an´ı poˇsty prostˇrednictv´ım Zabbixu se nastavuje v Configuration → General → Media Types.
15
Notifikace s ohledem na hierarchii s´ıtˇe Notifikace je v Zabbixu ˇreˇsena prostˇrednictv´ım Triggers, po jehoˇz spuˇstˇen´ı (splnˇen´ı podm´ınek) n´asleduje adekv´atn´ı odezva. V nastaven´ı Triggeru lze poloˇzkou New dependancy pˇridat nˇekolik dalˇs´ıch Trigger˚u, kter´e specifikuj´ı omezen´ı pro spuˇstˇen´ı. Ke spuˇstˇen´ı Triggeru nedojde, pokud nˇekter´y z Trigger˚u v The Trigger depends on, jiˇz byl spuˇstˇen. Nedojde tak k zasl´an´ı redundantn´ı notifikace.
Testov´an´ı dostupnosti sluˇzeb pˇri nedostupnosti stanice Zabbix neumoˇznˇ uje ihned automaticky otestovat dostupnost stanice, pˇri nedostupnosti nˇekter´e z jeho sluˇzeb. Po urˇcitou dobu tak doch´az´ı k redundantn´ımu spouˇstˇen´ı testovac´ıch skript˚u. Flapping Automatick´a detekce stavu flapping nen´ı v Zabbix pˇr´ıtomna. Pomoc´ı sloˇzitˇejˇs´ıch Trigger konstrukc´ı lze doc´ılit podobn´eho efektu, ale v´ysledek nen´ı pˇr´ıliˇs efektivn´ı. Monitorov´an´ı vzd´alen´ych stanic Zisk´an´ı priv´atn´ıch informac´ı (Z´atˇezˇ CPU) ze vzd´alen´ych stanic zajiˇst’uje v prostˇred´ı Zabbix v´yhradnˇe zabbix agent, kter´y mus´ı bˇezˇ et na vzd´alen´em poˇc´ıtaˇci. Pˇri vytv´aˇren´ı Items, t´ykaj´ıc´ıch se lok´aln´ıch dat na vzd´alen´em poˇc´ıtaˇci, nen´ı potˇreba zˇ a´ dn´eho specifick´eho postupu. V tomto pˇr´ıpadˇe se postupuje stejnˇe jako u Items t´ykaj´ıc´ıch se lok´aln´ıho poˇc´ıtaˇce. Obsluha ud´alost´ı Obsluha ud´alosti dovoluje spustit v okamˇziku probl´emu uˇzivatelem vytvoˇren´y skript, kter´y by se mˇel pokusit sluˇzbu opravit napˇr. restart sluˇzby. V Configuration → Actions lze nov´e Action pˇriˇradit typ Remote Command, kter´a nejˇcastˇeji v reakci na nˇejak´y Trigger m˚uzˇ e prov´est na stanici libovoln´y pˇr´ıkaz. V zabbix agentd.conf je potˇreba Remote Commands v EnableRemoteCommands povolit.
16
Moˇznosti webov´eho rozhran´ı Stanice a sluˇzby jsou v prostˇred´ı Zabbix konfogurov´any v´yhradnˇe prostˇrednictv´ım webov´eho rozhran´ı. Konfiguraˇcn´ı soubory stanic a sluˇzeb v textov´e podobˇe nejsou podporov´any. Tvorba vlastn´ıch testovac´ıch skriptu˚ a aplikac´ı Zabbix podporuje tvorbu nov´ych a modifikaci st´avaj´ıc´ıch testovac´ıch aplikac´ı. V´ıce zde [6].
17
Kapitola 4
Big Sister 4.1
Prerekvizity
Monitorov´ac´ı aplikace Big Sister je open-source k dispozici na http://bigsister.graeff.com/. Provoz vyˇzaduje n´asleduj´ıc´ı komponenty • OS typu Linux/Unix/Windows Distribuce pro OS typu Linux/Unix vyˇzaduje perl interpreter 5.6 nebo novˇejˇs´ı. • Web server Doporuˇcen Apache. Podrobnˇejˇs´ı informace k t´eto problematice zde [3].
4.2 4.2.1
Konfigurace Server
Struktura konfiguraˇcn´ıch soubor˚u je sestavena z nˇekolika pravidel, kter´a se aplikuj´ı postupnˇe od zaˇca´ tku souboru. Pravidlo sestav´a z masky, kter´a identifikuje objekt (poˇc´ıtaˇc, skupina poˇc´ıtaˇcu˚ v s´ıti, uˇzivatel) a akce, kter´a se m´a aplikovat pokud objekt, kter´y pr´avˇe komunikuje se serverem (napˇr. monitorov´an´ı hlas´ı nedostupnost) vyhovuje masce. Veˇsker´e zmˇeny v konfiguraˇcn´ıch souborech si vyˇzaduj´ı restart procesu, aby nabyly platnosti. bb event generator.cfg Soubor bb event generator.cfg obsahuje pravidla s maskou poˇc´ıtaˇc + sluˇzba a adekvatn´ı akci, jej´ızˇ soucast´ı je zaslan´ı notifikace na uvedenou emailovou adresu. permissions Soubor permissions obsahuje pravidla definujic´ı klientsk´e poˇc´ıtaˇce, kter´e mohou komunikovat se serverem a s jak´ymi omezen´ımi.
18
bb-display.cfg Soubor bb-display.cfg umoˇznˇ uje mˇenit formu zobrazen´ı monitorovan´ych dat pˇres webov´e rozhran´ı.
notify.cfg Umoˇznˇ uje pˇri vyvol´an´ı akce mail, rozˇs´ıˇrit tuto akci o skript, kter´y zaˇsle zpr´avu i na jin´e zaˇr´ızen´ı, pozn. lze prov´est i v bb event generator.cfg. uxmon-net Konfiguraˇcn´ı soubor obsahuj´ıc´ı data vztahuj´ıc´ı se k monitorov´an´ı, prvn´ı cˇ a´ st masky identifikuje stanici a jej´ı sluˇzbu, n´asleduj´ı parametry testov´an´ı.
4.2.2
Agent
BigSister agent pouˇz´ıv´a jeden konfiguraˇcn´ı soubor (pˇresnˇeji jeden typ, soubor˚u m˚uzˇ e b´yt v´ıce) uxmon-net. Pokud jsou k monitorov´an´ı pouˇzity pˇr´ıkazy vyuˇz´ıvaj´ıc´ı root opr´avnˇen´ı (napˇr. icmp protokol) mus´ı b´yt uxmon-net pˇrejmenov´an na uxmon-asroot (monitorovac´ı testy jsou spuˇstˇeny s root pr´avy).
4.3
Monitorov´an´ı provozu
Konfiguraˇcn´ı soubor uxmon-net m´a n´asleduj´ıc´ı strukturu • pomoc´ı kl´ıcˇ ov´eho slova DEFAULT lze nastavait parametry sluˇzeb, typ protokolu, typ operaˇcn´ıho syst´emu atd. poˇc´ıtaˇci, skupinˇe poˇc´ıtaˇcu˚ , sluˇzbˇe. DEFAULT frequency=1 ping
Kdykoliv bude vol´ana sluˇzba ping, bude interval kontroly 1 minuta. • pomoc´ı kl´ıcˇ ov´eho slova DESCR lze nastavit typ prostˇred´ı (OS) pro dan´y poˇc´ıtaˇc nebo skupinu poˇc´ıtaˇcu˚ DESCR features=unix,linux localhost
OS poˇc´ıtaˇce localhost je kategorie linux, unix (m˚uzˇ e m´ıt vliv na nˇekter´e sluˇzby, informace o OS se zobraz´ı v grafick´em rozhran´ı) • skupina z´aznam˚u definujic´ı sluˇzby a jejich parametry, kter´e se maj´ı na uveden´ych poˇc´ıtaˇc´ıch monitorovat. 192.168.1.1 frequency=2 type=ext2 diskfree myhost proto=icmp ping
19
Pro identifikaci zaˇr´ızen´ı ze pouˇz´ıt IP adresu nebo DNS jm´eno. N´asleduje seznam parametr˚u a jm´eno sluˇzby (resp. skriptu) Seznam vytvoˇren´ych skript˚u, moˇzn´ych parametr˚u a pouˇzit´ı, viz [3]. • z´aznam, ud´avaj´ıc´ı adresu Big Sister serveru, kam budou smˇerov´any veˇsker´a data z´ıskan´a monitorov´an´ım. Na tomto poˇc´ıtaˇci pak lze data zobrazit pˇres webov´y prohl´ızˇ eˇc
192.168.1.10
4.4
bsdisplay
Pouˇzit´ı v praxi
Interval monitorov´an´ı BigSister m´a nastavenou pˇreddefinovanou hodnotu testovat kaˇzdou sluˇzbu jedenkr´at za 5 minut. Tuto hodnotu lze pro konkr´etn´ı sluˇzby upravit pomoc´ı parametru frequency. 192.168.1.8 frequency=1 ping localhost frequency=5 disk Timeout Maxim´aln´ı doba, po kterou se bude BigSister server cˇ ekat na agenta aˇz doruˇc´ı zpr´avu o stavu sledovan´e sluˇzby, je 15 minut. Pot´e bude u sluˇzby status NO STATUS REPORT, indikuj´ıc´ı ne´uspˇesˇn´e spojen´ı s agentem. Tuto hodnotu nelze konfigurovat. Notifikace Notifikaˇcn´ı masky jsou souˇca´ st´ı souboru bb event generator.cfg. Implicitnˇe je pro zas´ılan´ı zpr´avy pouˇzit program sendmail. Nejjedonduˇssˇ´ı maska pro z´as´ıl´an´ı notifikac´ı o vˇsech monitorovan´ych sluˇzb´ach na vˇsech stanic´ıch m´a podobu *.*
mail=admin@localhost
Do masky lze pˇridat dalˇs´ı parametry, specifikuj´ıc´ı prodlevu mezi dalˇs´ımi upozornˇen´ımi, vazbu na dostupnost stanice atd. router.ping delay=0 repeat=0 mail=admin@pc1 Pokud chceme k zasl´an´ı notifikace pouˇz´ıt jin´y zp˚usob neˇz klasick´y email, lze pomoc´ı parametru pager a speci´aln´ıho pravidla PAGER filtrovat notifikace a pouˇz´ıt k jejich rozesl´an´ı skript sms-senderscript. Eventu´alnˇe i pˇreposlat dalˇs´ım kontakt˚um. *.* mail=admin1@pc1 pager=sms-sender PAGER{$pager eq "sms-sender"} pager=sms-sender-script mail=admin1@pc1
20
Notifikace s ohledem na hierarchii s´ıtˇe Podm´ınky pro evokov´an´ı notifik´ac´ı se uprav´ı v konfiguraˇcn´ım souboru bb event generator.cfg. Parametr check obsahuje podm´ınku, na kter´e z´avis´ı zasl´an´ı notifikace. Podm´ınka sest´av´a z otestov´an´ı dalˇs´ıch sluˇzeb na s´ıti (napˇr. je ping na hlavn´ı router v pods´ıti OK, je ping na poˇc´ıtaˇc, na kter´em bˇezˇ´ı monitorovan´a sluˇzba OK). Pokud je podm´ınka TRUE dojde k zasl´an´ı notifikace. Parametr delay definuje cˇ as od v´ypadku sluˇzby do okamˇziku kdy dojde k zasl´an´ı notifikace. Z´aroveˇn pokud podm´ınka v check nen´ı v tomto intervalu alespoˇn jednou splnˇena dojde k zruˇsen´ı notifikace (ping na router je zpoˇca´ tku OK, po chv´ıli se ale pˇrestane oz´yvat). *.ftp delay=10 check="$host.conn" mail=admin@pc1 Testov´an´ı dostupnosti sluˇzeb pˇri nedostupnosti stanice Big Sister neumoˇznˇ uje ihned automaticky otestovat dostupnost stanice, pˇri nedostupnosti nˇekter´e z jeho sluˇzeb. Doch´az´ı tak k redundantn´ımu spouˇstˇen´ı testovac´ıch skript˚u. Pozn´amka: Big Sister povoluje v konfiguraˇcn´ım souboru uv´est pouze DNS jm´eno, IP adresa nen´ı povinn´a (narozd´ıl od aplikac´ı Nagios a Zabbix). To m˚uzˇ e v´est k neopodstatnˇen´emu hl´asˇen´ı o nedostupnosti sluˇzeb, kde pˇr´ıcˇ innou je manipulaci s DNS z´aznamy. Flapping Automatick´a detekce stavu flapping nen´ı v Big Sister pˇr´ıtomna. Monitorov´an´ı vzd´alen´ych stanic Z´ısk´an´ı priv´atn´ıch informac´ı (Z´atˇezˇ CPU) ze vzd´alen´ych stanic zajiˇst’uje v prostˇred´ı Big Sister v´yhradnˇe big sister agent, kter´y mus´ı bˇezˇ et na vzd´alen´em poˇc´ıtaˇci. Pˇri vytv´aˇren´ı sluˇzeb, t´ykaj´ıc´ıch se lok´aln´ıch dat na vzd´alen´em poˇc´ıtaˇci, nen´ı potˇreba zˇ a´ dn´eho specifick´eho postupu. Postupuje se jednotnˇe jako u sluˇzeb t´ykaj´ıc´ıch se lok´aln´ıho poˇc´ıtaˇce (ke specifikov´an´ı vzd´alen´eho poˇc´ıtaˇce staˇc´ı pouze IP adresa nebo DNS jm´eno). Obsluha ud´alost´ı Big Sister neumoˇznˇ uje pˇriˇradit obsluˇzn´y skript pˇri v´ypadku sluˇzby. V´yjimkou je speci´aln´ı obsluˇzn´y skript pˇri notifikaci. Moˇznosti webov´eho rozhran´ı Big Sister nelze prim´arnˇe konfigurovat prostˇrednictv´ım webov´eho rozhran´ı tzn. nelze mˇenit obsah konfiguraˇcn´ıch soubor˚u, pˇrid´avat nov´e stanice nebo sluˇzby. U monitorovan´ych sluˇzeb lze vypnout/zapnout monitorov´an´ı – status DISABLED. Tvorba vlastn´ıch testovac´ıch skriptu˚ a aplikac´ı Big Sister podporuje tvorbu nov´ych a modifikaci st´avaj´ıc´ıch plugin˚u. V´ıce zde [1, 2].
21
Kapitola 5
Srovn´an´ı Nagios, Zabbix a Big Sister Rozd´ıly mezi jednotliv´ymi aplikacemi by mˇeli b´yt patrn´e jiˇz z pˇredch´azej´ıc´ıh kapitol. Zde jsou zm´ınˇena t´emata obecnˇejˇs´ı povahy, jejichˇz vypov´ıdaj´ıc´ı hodnota nemus´ı b´yt objektivn´ı. Architektura pouˇz´ıvaj´ıc´ı Triggers je univerz´alnˇejˇs´ı neˇz ˇreˇsen´ı Nagios a Big Sister, kter´e maj´ı pro notifikace a vzd´alen´e pˇr´ıkazy dva specifick´e zp˚usoby. Triggers jsou obecn´e ˇreˇsen´ı, kter´e lze pouˇz´ıt pro vyvol´an´ı notifikace i vzd´alen´eho pˇr´ıkazu. Nav´ıc lze kombinovat nˇekolik n´avratov´ych hodnot sledovan´ych sluˇzeb, vytvoˇrit mezi nimi z´avislosti a tomuto celku pˇriˇradit jednu notifikaci a obsluhu ud´alosti. Pohled na monitorovan´a data prostˇrednictv´ım webov´eho grafick´eho rozhran´ı je u Zabbixu nejkvalitnˇejˇs´ı. V Zabbixu je moˇzn´e vytvoˇrit speci´aln´ı pole graf˚u (sekce Screens) a m´ıt dobr´y pˇrehled o stavu s´ıtˇe. Grafick´e n´astroje v Nagios a Big Sister podobn´ych kvalit nedosahuj´ı, nav´ıc nejsou souˇca´ st´ı standartn´ı instalace a jsou k dispozici aˇz v r´amci MRTG nebo RRDTool (zaveden´ı je pops´ano v [5],[3]). Pouˇzitelnost dokumentace je d˚uleˇzit´y faktor reprezentuj´ıc´ı software. Ze vˇsech tˇr´ı aplikac´ı je pˇr´ıstup v´yvojov´eho t´ymu Nagiosu nejkvalitnˇejˇs´ı. Z´ejmena struktura dokumentace, ale i pˇr´ıstup k prezentaci a podpora softwaru na internetov´ych str´ank´ach. V´yvoj nov´ych verz´ı aplikac´ı je u Nagios a Zabbix velmi produktivn´ı, oproti tomu v´yvoj Big Sister stagnuje a nen´ı perspektivn´ı. N´a z´akladˇe v´ysledk˚u v t´eto pr´aci lze za nejefektivnˇejˇs´ı variantu povaˇzovat kombinovan´e monitorov´an´ı Nagios a Zabbix. Zabbix d´ıky vysoce pˇrehledn´emu a pˇrizp˚usobiv´emu grafick´emu rozhran´ı k tomu m´a nejlepˇs´ı pˇredpoklady. Nagios je oproti ostatn´ım vysoce konfigurovateln´y z hlediska monitorov´an´ı sluˇzeb a m´a implementov´ano mnoˇzstv´ı funkc´ı, kter´e v ostatn´ıch aplikac´ıch nejsou ˇ k dispozici. Cehoˇ z lze vyuˇz´ıt zejm´ena pˇri monitorovan´ı rozs´ahl´e s´ıtˇe.
22
Kapitola 6
Z´avˇer Kapitoly pr´ace se snaˇz´ı pokr´yt hlavn´ı rozd´ıly mezi monitorovac´ımi aplikacemi Nagios, Zabbix a Big Sister. Jednotliv´e sekce lze studovat nez´avisle a pro studium za u´ cˇ elem porovn´an´ı a v´ybˇeru jedn´e ze tˇr´ı aplikac´ı je tento postup i doporuˇcen. Perspektivn´ı rozˇs´ıˇren´ı tohoto projektu by bylo moˇzn´e dvˇema smˇery. Zamˇeˇrit se na dalˇs´ı drobn´e odliˇsnosti, kter´e jiˇz vˇsak nenach´az´ı tak hromadn´e uplatnˇen´ı v praxi. Jedn´a se napˇr´ıklad o rozˇs´ıˇren´ı notifikace (eskalace a z´avislosti – Nagios), podrobnˇejˇs´ı anal´yzu dat, kde se pracuje nejen s n´avratovou hodnotou testov´an´ı sluˇzby (nepˇr. v u´ vahu se bere nejen hodnota ping testu OK/non-OK, ale i cˇ as odezvy, velikost mnoˇzstv´ı paket˚u) nebo pouˇzit´ı tzv. pasivn´ıho monitorov´an´ı, kdy vzd´alen´e aplikace provedou kontrolu sluˇzby a v´ysledek zas´ılaj´ı monitorovac´ı aplikaci. Druh´y smˇer zahrnuje anal´yzu monitorovac´ıch syt´em˚u ve velk´ych s´ıt´ıch – 100 a v´ıce stanic. Zde je v´yhodn´e zav´est distribuovan´e monitorov´an´ı (pˇr´ımou podporu m´a Nagios) a lze jiˇz rozliˇsit, zda nˇekter´e konfiguraˇcn´ı rozhran´ı netrp´ı nedostatky pˇr´ıliˇsn´e cˇ asov´e n´aroˇcnosti na u´ drˇzbu.
23
Literatura [1] WWW str´anky. Big sister - tvorba vlastn´ıch pˇr´ıkaz˚u 1. http://www.joerg.cc/PDFs/devel-2005-08-15.pdf. [2] WWW str´anky. Big sister - tvorba vlastn´ıch pˇr´ıkaz˚u 2. http://bigsister.graeff.com/plugins.html. [3] WWW str´anky. Big sister dokumentace. http://www.joerg.cc/html/bigsis/index.html. [4] WWW str´anky. Nagios - tvorba vlastn´ıch pˇr´ıkaz˚u. http://nagiosplug.sourceforge.net/developer-guidelines.html. [5] WWW str´anky. Nagios dokumentace. http://nagios.sourceforge.net/docs/3 0/. [6] WWW str´anky. Zabbix dokumentace. http://www.zabbix.com/documentation.php.
24