Domov / Skype / Inštalácia a konfigurácia monitorovacieho servera Nagios. Inštalácia a konfigurácia nagios na Ubuntu Inštalácia nagios

Inštalácia a konfigurácia monitorovacieho servera Nagios. Inštalácia a konfigurácia nagios na Ubuntu Inštalácia nagios

Nagios- open source program určený na monitorovanie počítačové systémy a siete. Monitoruje zadané uzly a služby a upozorní správcu, ak niektorá zo služieb zastaví (alebo obnoví) svoju prácu. Pomocou nagios môžete tiež zobraziť stav hostiteľov a služieb prostredníctvom webového rozhrania. Teraz najviac čerstvá verzia nagios3.

    Aby nagios3 fungoval, budete potrebovať
  • Apache
  • GCC kompilátor a vývojové knižnice
  • vývojové knižnice GD

Nepoviem vám, ako sa Apache inštaluje, knižnice sa inštalujú príkazmi

sudo apt-get install build-essential sudo apt-get install libgd2-xpm-dev

Aj keď mi Nagios3 bez týchto knižníc nefungoval. Budem hovoriť o práci Nagios s Apache2.

Inštalácia Nagios3 vyrobené jedným tímom.

sudo apt-get install nagios3

Po inštalácii je nagios už spustený. Teraz vytvoríme samostatný Apache virtuálny hostiteľ pre nagios. Vytvorte v adresári /etc/apache2/sites-enabled konfiguračný súbor pre hostiteľa nagios. V nastaveniach hostiteľa zadajte ako domovský adresár /usr/share/nagios3/htdocs zvyčajne sú tam všetky webové súbory nagios3. Musíte tiež prepojiť nastavenia nagios s nastaveniami Apache. Pridať do súboru /etc/apache2/apache2.confďalší riadok.

Zahrňte /etc/nagios3/apache2.conf

Potom prejdite na tohto nového hostiteľa, ak ste urobili všetko správne, váš prehliadač by mal požiadať o heslo, ktoré ešte nepoznáte, ale všetko funguje.

Teraz sa poďme zamestnať konfigurácia nagios. Všetky konfiguračné súbory sú in /etc/nagios3/. Hlavný konfiguračný súbor nagios.cfg pripojí všetky ostatné konfiguračné súbory a nastaví nastavenia pre nagios sám. Ak ste si teda vytvorili vlastný konfiguračný súbor, nezabudnite ho zahrnúť do tohto súboru.
Prejdime k súboru cgi.cfg, sú v ňom nastavené všetky nastavenia cgi skripty, vystavený aj v ňom prístupové práva na stránku s GUI. Používateľ nagiosadmin má štandardne plný prístup, ak chcete niečo povoliť iným používateľom, stačí ich pridať oddelené čiarkami. Moja konfigurácia vyzerá takto.

default_user_name=myuser autorizované_pre_systémové_informácie=nagiosadmin,myuser autorizované_pre_informácie_konfigurácie=nagiosadmin,myuser autorizovaný_pre_systémové_príkazy=nagiosadmin,môj používateľ autorizovaný_pre_všetky_služby =nagiosadmin,môj používateľ autorizovaný_pre_všetkých_hostiteľov =nagiosadmin,môj používateľ autorizovaný_pre_všetky_služby =nagiosadmin,môj_používateľ autorizovaný_pre_všetkých_hostiteľov =nagiosadmin,môj používateľ autorizovaný_pre_všetky_servisné_príkazy=nagiosadmin,myuser autorizovaný_pre_všetkých_hostiteľských_príkazov=nagiosadmin,myuser

Kde myuser je moje používateľské meno. Teraz musíte vytvoriť súbor s používateľmi a heslom, aby ste mohli prejsť do adresára /etc/nagios3/ použime príkaz

cd /etc/nagios3/ sudo htpasswd -c htpasswd.users myuser

a zadajte heslo pre používateľa myuser
Nagios štandardne hľadá používateľov na autentifikáciu v súbore /etc/nagios3/htpasswd.users, ale môžete uložiť z iného miesta, pre túto zmenu v súbore /etc/nagios3/apache2.conf parameter AuthUserFile na vlastnú päsť.

Teraz znova načítajte nagios, aby sa zmeny prejavili

reštartujte sudo /etc/init.d/nagios3

Môžete tiež skontrolovať celú konfiguráciu nagios pred reštartom

sudo nagios3 -v /etc/nagios3/ nagios.cfg

Skontroluje súbor nagios.cfg a všetky súbory, ktoré sú v ňom obsiahnuté a ak nájde chyby, zapíše podrobné informácie, túto kontrolu vám odporúčam vykonať po každej zmene v konfiguračných súboroch.

To je všetko, teraz prejdite na svoj virtuálny hostiteľ vytvorený pre nagios a zadajte svoje používateľské meno a heslo.
Uvidíte stav vašich služieb, štandardne nagios kontroluje fungovanie localhostu a brány. Môžete pridať svojich hostiteľov alebo služby na kontrolu, teraz sa pozrieme na to.

Povedzme, že chcem skontrolovať, kedy moji kolegovia zapínajú a vypínajú počítače. Aby ste to dosiahli, musíte najprv opísať týchto hostiteľov. Vytvorte v adresári /etc/nagios3/conf.d súbor my-hosts.cfg a napíš do nej mojich hostiteľov

# definícia hostiteľa pre kompy mojich priateľov definovať hostiteľa ( host_name volodya #Hostname alias Volodya comp #description address 192.168.140.3 #ip address use generic-host ) definovať hostiteľa ( host_name lexa alias lexa comp adresa 192.168.140.4 use generic-host ) definovať hostiteľa (adresa hostiteľa x1 x1 192.168.140.5 použiť generic-host ) definovať hostiteľa ( host_name xz2 alias xz2 comp adresa 192.168.140.8 použiť generic-host ) definovať hostiteľa ( host_name diman alias diman comp address 192.168.140.10 použiť generic-host

Pretože tento súbor je v adresári /etc/nagios3/conf.d pripojte ho samostatne v súbore
/etc/nagios3/nagios.cfg nie je potrebné, pretože už štandardne obsahuje všetky súbory z adresára /etc/nagios3/conf.d

Spojme týchto hostiteľov do skupiny. Zapíšte do konfiguračného súboru skupiny /etc/nagios3/conf.d/hostgroups_nagios2.cfg takýto text

#Defind my group define hostgroup (hostgroup_name my-friends #group name alias my-friends comps # description members lexa, volodya, xz1,xz2, diman #group members )

Teraz musíme nakonfigurovať službu, ktorá bude kontrolovať túto skupinu hostiteľov. Pridávanie do súboru /etc/nagios3/conf.d/services_nagios2.cfg alebo si vytvorte vlastný súbor s takouto konfiguráciou.

# skontrolujte, či sú kompy mojich priateľov zapnuté definovať službu ( hostgroup_name my-friends #názov skupiny na kontrolu service_description PING check_command check_ping! 100,0,20%! 500,0 ,60 % príkaz #check použiť všeobecnú službu)

definovať kontakt (meno_kontaktu paša #meno alias paša service_notification_period 24x7 #obdobie oznamovania služby host_notification_period 24x7 #obdobie upozornení hostiteľa service_notification_options w ,u,c,r # na čo upozorniť upozornenia host_notification_options d #notify, že hostiteľ je mimo prevádzky service_notification_commands notify-service-by-e-mail #how to notify host_notification_commands notify-host-by-email #How to notify email [e-mail chránený] yandex.ru #mail)

Časové obdobia sú nastavené v súbore /etc/nagios3/conf.d/contacts_nagios2.cfg už predvolene je nastavených niekoľko období, podľa ich analógu si môžete ľahko nastaviť svoje vlastné.

Výhody a nové možnosti pre monitorovanie systému

Sledujte a analyzujte veľké množstvo informácií o stave rôzne počítače(napríklad stupeň využitia procesora a internetová karta) vyžaduje veľa úsilia, ale open source Nagios (pozri časť ) odvádza dobrú prácu pri monitorovaní a varovaní v reálnom čase.

Je mimoriadne dôležité pochopiť, že Nagios nie je nástroj na meranie systémových parametrov, napríklad miery vyťaženia procesora, ale utilita, ktorá vydáva výsledky monitorovania v podobe „fungujúcich“, „nespoľahlivých“ a „chybných“ stavov. Táto funkcia Nagios pomáha operátorovi zamerať sa na najdôležitejšie a kritické problémy na základe vopred definovaných a prispôsobiteľných kritérií.

Softvér Nagios implementuje funkciu na vykazovanie množstva strateného času v dôsledku prestojov, čo môže byť užitočné na sledovanie kvality poskytovania služieb podľa zmluvy o úrovni služieb (SLA). Ako bude uvedené v ďalších článkoch, Nagios ponúka aj funkcie pre účtovanie prestojov a vytváranie závislostí na službách a systémoch. Tento úvodný článok ukazuje, aké ľahké je vytvárať malé, prispôsobené riešenia pre špecifické požiadavky na monitorovanie.

Inštalácia

Väčšina Linuxové distribúcie® prichádzajú s integrovanou verziou Nagios. V tomto prípade sa produkt ľahko integruje s webovým serverom Apache. Ak chcete aktivovať alebo aktualizovať takúto konfiguráciu, musíte spustiť príkaz:

yum nainštalovať nagios

alebo apt-get install nagios-text . Binárne súbory pre platformu AIX® sú k dispozícii na stiahnutie z webovej stránky NagiosExchange (pozrite si časť ).

Pre ostatné platformy je možné zdrojový kód Nagios stiahnuť z webovej stránky Nagios.org (pozri časť ). Na vytvorenie Nagios od začiatku sú potrebné nasledujúce vývojárske nástroje.

  • Nástroje:
    • autokonf
    • automobilka
  • Spustiteľné súbory:
    • libgd
    • openssl
  • Balíky (knižnice a hlavičkové súbory)

Mnoho doplnkov súvisiacich s SNMP (Simple Network Management Protocol) bude tiež vyžadovať Perl a balík Net::SNMP.

Keď je Nagios nainštalovaný a nakonfigurovaný, je k nemu prístup cez štandardnú URL http://your.host.name/nagios . Zobrazuje, ktoré systémy a služby sú povolené alebo zakázané.

Nastavenie systému Nagios

Štandardne sú všetky konfiguračné súbory Nagios umiestnené v adresári /etc/nagios. Konfiguračné súbory súvisiace s Apache je možné pohodlne prepojiť s konfiguračným adresárom Apache pomocou odkazov. Konfigurácia je rozdelená do niekoľkých súborov, z ktorých každý je venovaný samostatným konfiguračným fragmentom.

Prvými komponentmi, ktoré je potrebné nastaviť, sú kontakty a skupiny kontaktov. Kontakty sú ľudia, ktorí sú upozornení na výpadok systému alebo služby. V predvolenom nastavení Nagios ponúka e-mailové a pagerové notifikácie, ale rozšírenia vám umožňujú posielať notifikácie cez Jabber protokol a mnoho ďalších metód, ktoré môžu byť za rôznych okolností výhodné.

Kontakty sú uložené v súbore contacts.cfg a sú definované tak, ako je uvedené vo výpise 1.

Výpis 1. Konfigurácia 1: Základné kontaktné informácie
definovať kontakt( meno_kontaktu jdoe alias John Due service_notification_commands notify-by-e-mail host_notification_commands host-notify-by-e-mailes email [e-mail chránený] }

Kontakty je možné zoskupovať a namiesto jednotlivcov, ktorí musia byť upozornení na zmenu stavu systému alebo služby, Nagios upozorní príslušnú skupinu. Niekedy má zmysel zadať používateľa viackrát na definovanie rôznych adries alebo príkazov na odosielanie upozornení a potom pridať všetky spôsoby kontaktovania používateľa do skupiny kontaktov, do ktorej patria ().

Výpis 2. Konfigurácia 2: Zoskupovanie kontaktov
definovať skupinu kontaktov (názov_skupiny_kontaktov správcovia servera alias členovia správcov servera jdoe,albundy )

Ďalším krokom je nastavenie systémov, ktoré bude Nagios monitorovať. Musíte pridať každý počítač so službami, ktoré chcete monitorovať alebo pravidelne kontrolovať aktivitu. Konfiguračný súbor na uloženie systému je súbor hosts.cfg. Výpis 3 ukazuje príklad definície počítača.

Výpis 3. Konfigurácia 3: Pridanie nového počítača
define host( host_name ubuntu_1_2 alias Ubuntu test server address 192.168.1.2 check_command check-host-alive max_check_attempts 20 notifications_enabled 1 event_handler_enabled 0 flap_detection_enabled 0 process_perf_data 2 information_stat notification1 repeat_status_6

Posledným krokom v konfigurácii Nagios je definovanie služieb pre nakonfigurované systémy. Príklad zobrazený vo výpise 4 používa preddefinovaný zásuvný modul ping pre Nagios, ktorý odosiela pingy ICMP (Internet Control Message Protocol) na určenie, či počítač odpovedá alebo nie.

Výpis 4. Konfigurácia 4: Pridávanie nová služba
definovať službu (použite šablónu služby názov_hostiteľa ubuntu_1_2 popis služby PING kontrolné_period 24x7 skupiny kontaktov správcov_serverov notification_options c,r check_command check_ping!300.0,20%!1000.0,60% )

Po príprave tejto konfigurácie je potrebné reštartovať démona Nagios a potom, po niekoľkých sekundách, kým sa Nagios inicializuje, skontrolujte, či sa vo webovom rozhraní správcu objavili služby ping.

Zásuvné moduly na písanie pre Nagios

Najzaujímavejším aspektom Nagios je, že si preň môžete jednoducho napísať vlastný plugin, čo si vyžaduje naučiť sa pár vecí. jednoduché pravidlá. Na správu doplnku Nagios jednoducho vytvorí podriadený proces zakaždým, keď požiada o stav služby a použije výstupný a návratový kód tohto príkazu na určenie stavu. Návratové kódy stavu služby sa interpretujú takto:

  • OK- návratový kód 0 - znamená, že služba funguje normálne;
  • VÝSTRAHA- návratový kód 1 je varovným signálom, že služba môže mať problémy;
  • KRITICKÝ- návratový kód 2 - kritický stav služby;
  • NEZNÁMY- návratový kód 3 - neznámy servisný stav.

Posledný stav jednoducho znamená, že doplnok nebol schopný určiť stav služby. Môže k tomu dôjsť napríklad v dôsledku internej chyby.

Výpis 5 je príklad skriptu Python, ktorý testuje priemer zavádzania operačného systému UNIX®. Predpokladá, že úroveň nad 2,0 je varovný stav a úroveň nad 5,0 je kritický stav. Tieto hodnoty sú pevne zapojené do kódu a vždy sa používa aj priemer zaťaženia na poslednú chvíľu.

Výpis 5. Python plugin - príklad funkčného pluginu
#!/usr/bin/env python import os,sys (d1, d2, d3) = os.getloadavg() ak d1 >= 5.0: tlač "GETLOADAVG KRITICKÉ: Priemer načítania je %.2f" % (d1) sys. exit(2) elif d1 >= 2.0: print "GETLOADAVG WARNING: Priemer načítania je %.2f" % (d1) sys.exit(1) else: print "GETLOADAVG OK: Priemer načítania je %.2f" % (d1) sys.exit(0)

Po príprave malého spustiteľného komponentu musíme tento plugin zaregistrovať v Nagiose a vytvoriť definíciu služby, ktorá bude kontrolovať priemernú záťaž.

Je to celkom jednoduché: najprv sa vytvorí súbor /etc/nagios-plugins/config/mygetloadavg.cfg s obsahom zobrazeným nižšie a služba sa pridá do súboru services.cfg, ako je znázornené v príklade nižšie. Dovoľte mi pripomenúť, že localhost musí byť prítomný v konfiguračnom súbore hosts.cfg.

Výpis 6. Príklad doplnku – registrácia Nagios
definuj príkaz (názov_príkazu check_mygetloadavg príkazový_riadok /cesta/k/check_getloadavg )
Výpis 7. Vytvorenie služby pomocou vzorového pluginu
definovať službu (použiť šablónu služby názov_hostiteľa localhost service_description LoadAverage check_period 24x7 contact_groups server-admins notification_options c,r check_command check_mygetloadavg )

Napísanie kompletného pluginu

Predchádzajúci príklad ukázal obmedzenia „pevne kódovaného“ pluginu, ktorý neumožňuje zmeny konfigurácie za behu. V praxi je lepšie vytvárať konfigurovateľné pluginy, potom bude možné vytvoriť a udržiavať iba jeden plugin, zaregistrovať ho ako samostatný plugin v Nagiose a odovzdať mu varovanie a argumenty na úpravu kritickej úrovne za rôznych okolností. Nasledujúci príklad obsahuje aj správy o používaní, čo je obzvlášť užitočné pre doplnky, ktoré používajú alebo spravujú viacerí vývojári alebo správcovia.

Ďalší užitočná technika je zachytiť všetky výnimky a vrátiť NEZNÁMY do správy o stave služby, aby Nagios mohol vhodne upozorniť na udalosť. Pluginy, ktoré umožňujú „únik“ výnimkám, najčastejšie vracajú hodnotu 1, čo Nagios považuje za VAROVANIE. Je dôležité, aby plugin správne rozlišoval medzi stavmi WARNING (varovanie) a UNKNOWN (neznáme). Stojí za zmienku, že zvyčajne sú upozornenia na jednotlivé stavy VAROVANIE vypnuté, ale nie je vhodné zakázať upozornenia na NEZNÁME stavy.

Napísanie doplnku Python

Vyššie uvedené predpoklady (parametrizácia za chodu, hlásenie používania a vylepšené spracovanie výnimiek) vedú k zásuvnému modulu, ktorého zdrojový kód je niekoľkonásobne väčší ako predchádzajúci. Toto však dodáva bezpečná manipulácia chyby a možnosť opätovného použitia pluginu v rôznych situáciách.

Výpis 8. Python plugin - kompletný plugin pre získanie údajov o priemernej záťaži
#!/usr/bin/env python import os import sys import getopt def use(): print """Použitie: check_getloadavg [-h|--help] [-m|--mode 1|2|3] \ [ -w|--úroveň výstrahy] [-c|--kritická úroveň]" Režim: 1 - posledná minúta ; 2 - trvať 5 minút 3 - posledných 15 minút" Predvolená úroveň varovania je 2.0 Predvolená kritická úroveň je 5.0""" sys.exit(3) skúste: options, args = getopt.getopt(sys.argv, "hm:w:c:", "- -help --mode= --warning= --critical=",) okrem getopt.GetoptError: use() sys.exit(3) argMode = "1" argWarning = 2.0 argCritical = 5.0 pre názov, hodnota v možnostiach: ak názov v ("-h", "--help"): use() if name in ("-m", "--mode"): ak hodnota nie je v ("1", "2", "3" ): use() argMode = hodnota if name in ("-w", "--warning"): try: argWarning = 0,0 + hodnota okrem Výnimka: print "Nie je možné konvertovať na hodnotu s pohyblivou rádovou čiarkou\n" use() ak meno v ("-c", "--kritické"): skúste: argCritical = 0,0 + hodnota okrem Výnimka: print "Nie je možné konvertovať na hodnotu s pohyblivou rádovou čiarkou\n" use() skúste: (d1, d2, d3) = os.getloadavg() okrem výnimky: print "GETLOADAVG UNKNOWN: Chyba pri získavaní priemerného zaťaženia" sys.exit(3) if argMode == "1": d = d1 elif argMode == "2": d = d2 elif argMode = = "3": d = d3 ak d >= argCritical: print "GETLOADA VG KRITICKÉ: Priemerná záťaž je %.2f" % (d) sys.exit(2) elif d >= argWarning: print "GETLOADAVG WARNING: Priemerná záťaž je %.2f" % (d) sys.exit(1) else: vytlačiť "GETLOADAVG OK: Priemerná záťaž je %.2f" % (d) sys.exit(0)

Ak chcete použiť nový doplnok, musíte ho zaregistrovať v súbore /etc/nagios-plugins/config/mygetloadavg2.cfg, ako je uvedené vo výpise 9.

Výpis 9. Python plugin - registrácia Nagios
definuj príkaz( názov_príkazu check_mygetloadavg2 príkazový_riadok /cesta/k/check_getloadavg2 -m $ARG1$ -w $ARG2$ -c $ARG3$ )

Musíte tiež pridať alebo upraviť záznam pre túto službu v súbore services.cfg, ako je uvedené vo výpise 10. Stojí za zmienku, že Výkričník! oddeľuje parametre pluginu. Ako predtým, localhost musí byť definovaný v konfiguračnom súbore hosts.cfg.

Výpis 10. Vytvorenie služby pomocou pluginu Python
definovať službu (použite šablónu služby názov_hostiteľa localhost service_description LoadAverage2 check_period 24x7 contact_groups server-admins notification_options c,r check_command check_mygetloadavg2!1!3.0!6.0 )

Napísanie doplnku Tcl

Posledným príkladom je plugin napísaný v Tcl, ktorý kontroluje výmenné kurzy z xmethods.net pomocou technológie SOAP (Simple Object Access Protocol) a WSDL (Web Services Description Language). SOAP poskytuje doplnku aktuálne výmenné kurzy na porovnanie s nakonfigurovanými hodnotami. Ak je hodnota v rozsahu varovania, stav sa považuje za OK. Ak je hodnota nad alebo pod úrovňou varovania, ale nie pod kritickou hranicou, potom sa stav považuje za VAROVANIE . V opačnom prípade sa stav považuje za KRITICKÝ, pokiaľ nedôjde k zlyhaniu siete, v takom prípade je stav nastavený na NEZNÁMY .

Doplnok rozpoznáva konfigurovateľné parametre, takže je možné kontrolovať rôzne rýchlosti s rôznymi rozsahmi. Môže sa použiť aj na kontrolu výmenných kurzov rôznych krajín (výpis 11).

Výpis 11. Tcl plugin - skontrolujte aktuálne výmenné kurzy
#!/usr/bin/env tclsh # parse arguments package vyžadujú možnosti nastavenia cmdline ( (country1.arg "" "Krajina 1") (country2.arg "" "Country 2") (lowerwarning.arg "" "Dolný limit varovania ") (upperwarning.arg "" "Horný limit varovania") (lowercritical.arg "" "Dolný kritický limit") (uppercritical.arg "" "Horný kritický limit") ) nastavenie poľa opt ​​)] # ak používateľ nedodal všetky argumenty, # potom zobrazí pomocnú správu pre každý potrebný (ak ($opt($necessary) == "") (set argv "-help" catch (cmdline::geoptions argv $options (: )) použitie puts stderr $usage exit 3 ) ) # načítať balík TclWebServices package vyžaduje WS::Client if ( 1] ) error]) ( # ak z nejakého dôvodu nebolo možné načítať kurz, hlási, že sa ukončí "EXCHANGERATE NEUNKNOWN: $error" 3 ) ak (($výsledok< $opt(lowercritical)) || ($result >$opt(uppercritical))) ( vloží "KRITICKÉ VÝMENA: sadzba je $výsledok" výstup 2) ak (($výsledok< $opt(lowerwarning)) || ($result >$opt(upperwarning))) (vloží "UPOZORNENIE VÝMENY: kurz je $výsledok" exit 1 ) zadá "VÝMENA OK: kurz je $výsledok" exit 0

Teraz musíme tento príkaz zaregistrovať, aby ho Nagios vedel zavolať. Aby ste to mohli urobiť, musíte vytvoriť súbor /etc/nagios-plugins/config/exchangerate.cfg s obsahom podobným predchádzajúcim konfiguráciám a nasledujúcou definíciou príkazu:

príkazový riadok /cesta/k/kontrolnej_výmennej hodnote -country1 $ARG1$ -country2 $ARG2$ -dolné kritické \ $ARG3$ -dolné upozornenie $ARG4$ -horné upozornenie $ARG5$ -horné kritické $ARG6$

V nižšie uvedenom príklade je použitý názov príkazu check_exchangerate.

Potom je potrebné vytvoriť službu, ktorá bude používať vytvorený plugin na sledovanie výmenných kurzov. Nasleduje príklad definície služby, ktorá priraďuje službu k serveru localhost. Aj keď kontrola v skutočnosti nesúvisí so žiadnou skutočný počítač, stále je potrebné ho naviazať na systém. Ak kontrola zahŕňa volanie metód SOAP serverov v rámci monitorovanej siete, potom musíte pridať skutočný server, ktorý bude monitorovaný, a naviazať službu na tento server. Kód kontroluje, že výmenný kurz britskej libry voči japonskému jenu je medzi 225 a 275.

Výpis 12. Pridanie zásuvného modulu Tcl ako novej služby
definovať službu (použite šablónu služby názov_hostiteľa localhost service_description EXCHANGERATE check_period 24x7 contact_groups other-admins notification_options c,r check_command check_exchangerate!Anglicko!Japonsko!200!225!275!300 )

Záver

Nagios možno použiť na monitorovanie všetkých typov softvéru a počítačového hardvéru. Schopnosť vytvárať vlastné doplnky vám umožňuje sledovať všetko, s čím môže server Nagios hovoriť. Na tento účel môžete použiť akýkoľvek programovací jazyk, ktorý akceptuje argumenty s príkazový riadok a podporuje návratové kódy, takže možnosti sú takmer neobmedzené!

Skúsený správca systému môže rozšíriť príklad SOAP o Tcl alebo akýkoľvek iný jazyk na interakciu s webovými službami na intranete a napísať zásuvné moduly na overenie, že tieto služby fungujú správne.

Môžete tiež použiť C pluginy alebo C programovacie funkcie zabudované do vášho dynamického jazyka (Pyinline v Pythone, Inline v Perl alebo Critcl v Tcl) a skombinovať kombináciu API systému OS v C s doplnkom napísaným v jazyku vysokej úrovne. .

Ďalšou funkciou Nagios, na ktorú sa oplatí pozrieť, je pasívna validácia. Proces monitorovania s Nagios popísaný v tomto článku sa spolieha na spustiteľné komponenty na určenie stavu pomocou skratu životný cyklus, spúšťanie týchto komponentov a získavanie výsledkov z nich. Pri pasívnej kontrole Nagios nespúšťa pluginy na kontrolu stavu, ale jednotlivé aplikácie posielať správy o zmene stavu pravidelne alebo pri zmene stavu služby. Takáto aplikácia dokáže prijímať upozornenia z rôznych zdrojov, kumulovať ich a odovzdávať pripravené súhrnné informácie do Nagiosu. Nagios môže tiež predpokladať, že služba zlyhala, ak počas určitého časového obdobia neposiela upozornenia. Implementácia pasívnej validácie s Nagios bude popísaná v nasledujúcom článku.

Výhodou pluginov pre Nagios je jednoduchosť, s akou sa dajú vytvárať a zdieľať. Zásuvné moduly Nagios sú užitočné v situáciách, s ktorými sa stretávajú správcovia siete a systému, a vo väčšine prípadov toto opätovné použitie výsledky práce, ktorú už niekto vykonal. Podobne ako v prípade populárnych zdrojov Wiki a webových zdrojov, nie je potrebné veľa úsilia prispieť užitočným príkladom, zatiaľ čo kombinovaný výkon všetkých dostupných doplnkov je skvelý.

Keď sa niečo v systéme pokazí alebo sa začne správať nezvyčajne, používatelia unisono trpia. Preto v tomto prípade musíte o poruche čo najskôr niekoho informovať. Ešte lepšie by bolo predvídať výskyt problémov Vopred. Táto poznámka popisuje inštaláciu a konfiguráciu Nagios, čo vám umožňuje celkom úspešne vyriešiť takéto problémy.

Invarianty

Väčšina systémov má množstvo invariantov, ktoré by nikdy nemali byť porušené. Tu je niekoľko príkladov možných porušení:

  • Priemerná záťaž na jednom zo strojov je vyššia ako X;
  • Na jednom z počítačov je menej ako X voľnej pamäte;
  • Jeden z počítačov má menej ako X voľného miesta na disku;
  • Príliš veľa otvorených deskriptorov súborov na počítači X;
  • Percento je veľmi horúce, disk sa čoskoro rozpadne, malé nabitie UPS;
  • Vysoká sieťová prevádzka, disk io, nízky swap atď.;
  • Jeden z hostiteľov nereaguje na ping alebo má príliš veľa RTT;
  • Cez DNS sa niečo prestalo riešiť;
  • K dispozícii sú novšie verzie nainštalovaných balíkov;
  • Podozrivo veľa používateľov sa prihlásilo do jedného zo strojov;
  • Existuje kritické chyby v denníkoch za posledných X minút;
  • Počet nekritických chýb za posledných X minút prekročil Y;
  • Ukladanie alebo pomalá odpoveď PostgreSQL , Redis , RabbitMQ , ...;
  • SSL certifikát čoskoro vyprší;
  • 99. percentil času odozvy služby je oveľa dlhší ako zvyčajne;
  • Mail, SMS, push notifikácie nechodia, ...;
  • Zostatok musíte doplniť v službe tretej strany (AWS , Logentries , ...);
  • Podozrivo vysoké náklady v službe tretej strany;
  • V testovacom prostredí nebolo možné obnoviť zo zálohy z predaja;
  • Služba sa stala nedostupnou zo Zelenogradu a Južnej Afriky;
  • Podľa interných zdravotných kontrol služby sme narazili na jeden z fondov vlákien;

Ako vidíte, takmer v každej službe môžete ľahko nájsť dva tucty invariantov alebo dokonca viac, ktoré by nikdy nemali byť porušené a ktoré sa dajú celkom ľahko automaticky monitorovať. Ak sa niečo pokazí, začneme posielať listy adminom, SMS nadriadeným a telefonovať kóderom.

Inštalácia Nagios

Mimochodom, vďaka známosti s Nagios som začal oveľa lepšie rozumieť ľuďom, ktorí obhajujú manuálne sharding a manuálne zlyhanie. Ale to je možno téma na samostatnú poznámku.

Ako monitorujete svoj systém?

Populárne monitorovacie riešenie nagios vám umožňuje implementovať škálovateľné systémy. Konfigurácia pre distribuované systémy je zdĺhavý proces, v rámci článku implementujeme monitoring jednej služby na vzdialenom hostiteľovi.

Konfiguračné práce budú vykonávané na serveri s operačným systémom CentOS 7, klient nrpe bude tiež používať CentOS 7

Nainštalujte doplnok na klienta nrpe a povoliť pripojenie k serveru v jeho nastaveniach.

Inštalácia a konfigurácia monitorovacieho servera Nagios

Konfiguráciu spustíme na stroji, ktorý bude fungovať ako nagios server. Nainštalujte potrebné balíčky:

yum install -y wget httpd php gcc glibc glibc-common gd gd-devel make net-snmp rozbaliť

nagios funguje cez Apache, takže httpd je v zozname nainštalovaných balíkov

Prejdeme do koreňového adresára s dočasnými súbormi a stiahneme si doň najnovšie vydania nagios a nagios-plugins pomocou wget

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.2.8.tar.gz

wget http://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz

Vytvorte používateľa systému a skupinu

Pridanie používateľa nagios do skupiny nagcmd

usermod -a -G nagcmd nagios

usermod -a -G nagios,nagcmd apache

Keďže používame CentOS, httpd nebeží ako používateľ www-data, ale ako používateľ apache

Aby ste sa v budúcnosti vyhli konfliktom práv, pridajte používateľa apache do skupín nagios, nagcmd

Rozbaľte obsah stiahnutého archívu

tar -zxvf nagios-4.2.0.tar.gz

Prejdite do adresára so súbormi nagios

V budúcnosti nainštalujeme nagios aj nrpe zo zdroja

./configure --with-command-group=nagcmd

Počas zostavovania zadajte skupinu nagcmd ako možnosť

Zostavovanie

urobiť install-commandmode

Rekurzívne skopírujte adresár knižnice do /usr/local na serveri

cp -R contrib/eventhandlers /usr/local/nagios/libexec

Taktiež rekurzívne meníme vlastníka a skupinu vlastníkov adresárov a súborov na nagios

chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers

Snažíme sa spustiť a zobraziť verziu nagios zadaním cesty k hlavnému konfiguračnému súboru

Pridajte nagios do štartu - systém ho spustí pri každom štarte

systemctl povoliť nagios

Spustenie služby

Podobné operácie vykonávame s webovým serverom

Nastavte heslo používateľa nagios

S pomocou htpasswd vygenerovať súbor, ktorý obmedzí prístup pre používateľa nagiosadmin

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Inštalácia hlavného balíka je teraz dokončená. Otvorte internetový prehliadač a zadajte vyhľadávací reťazec IP adresa servera, potom /nagios a dostanete sa do webového rozhrania

Nastavenie monitorovania služby na vzdialenom hostiteľovi

Ideme na iný server, ktorý bude fungovať ako klient nagios
Prejdite do adresára /tmp/

Rozbaľte nagios-plugins-2.1.2

tar -zxvf nagios-plugins-2.1.2

cd nagios-plugins-2.1.2

Kompilácia s používateľom a skupinou nagios

./configure --with-command-user=nagios --with-nagios-group=nagios

Teraz nainštalujte plugin nrpe

Najprv dodatočne nainštalujte z úložiska openssl-devel, ak je už nainštalované, preskočte krok (balík musí byť prítomný aj na serveri nagios)

yum -y nainštalovať openssl-devel

Môžete tiež nainštalovať z úložiska

yum nainštalovať nagios-plugins-all nagios-plugins-nrpe

Ak potrebujete čerstvú verziu, tak
Sťahovanie balíka

wget http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

Rozbaľte tar.gz

tar -zxvf nrpe-2.15.tar.gz

Zostavenie rovnakým spôsobom ako predtým

Prejdite na server nagios

Pokúsime sa pripojiť zo servera špecifikujúceho za kľúčom -H IP adresa klienta

Dostaneme odmietnuté pripojenie a ideme nakonfigurovať doplnok

Spustíme nrpe na klientovi a pridáme službu do spustenia

Otvorte hlavný konfiguračný súbor a zadajte IP adresu servera ako hodnotu v sekcii allow_hosts

mcedit /etc/nrpe/nrpe.cfg

povolených_hostiteľov = 10.11.27.11

Späť na server

/usr/local/nagios/libexec/check_nrpe -H 10.11.27.44

Teraz je náš pokus úspešný a vidíme verziu nagios

Znova otvorte hlavnú konfiguráciu

Odstráňte značku komentára z riadku s cfg_dir(cfg_dir=/usr/local/nagios/etc/servers)

Vytvorte adresár a zmeňte ho

mkdir /usr/local/nagios/etc/servers

cd /usr/local/nagios/etc/servers

Určite hostiteľov, ktorí budú monitorovaní. Hostitelia môžu mať ľubovoľné mená, nagios uvidia všetky súbory s príponou cfg

Parametre hostiteľa predpisujeme, význam smerníc je jasný už z názvu. Týchto smerníc môže byť v prípade potreby doladenia monitorovania oveľa viac, tu uvažujeme o základnej pracovnej konfigurácii

definovať hostiteľa (
používať linuxový server
host_name cenos11
alias len nagios klient
adresa 10.11.27.44
maximálny_kontrolný_pokus 5
kontrolné_obdobie 24×7
interval oznamovania 30
doba oznamovania 24×7

}

Pridajte konfiguráciu pre službu, ktorú monitorujeme. Teraz sa obmedzíme na kontrolu prítomnosti pingu pre hostiteľa

{
používať všeobecnú službu
host_name cenos11
service_description PING
check_command check_ping!100.0.20%!500.0.50%
}

Použil sa príkaz check_command, úryvok z manuálu, ktorý sa toho týka, hovorí nasledovné:

check_ping -H -w ,% -c ,%
[-p pakety] [-t časový limit] [-4|-6]

Preto pri strate 20 % paketov dostaneme varovanie, pri strate 50 % - ALERT

Spustite znova a uistite sa, že neexistujú žiadne chyby

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Reštartovanie služby

systemctl reštart nagios

Ideme do webového rozhrania a vidíme, že je tam zobrazená služba na vzdialenom hostiteľovi, ktorý sledujeme (v konfigurácii zobrazenej na snímke obrazovky je nakonfigurované monitorovanie množstva ďalších zdrojov). Konfigurácia monitorovacieho servera so základnou funkcionalitou je teraz dokončená.

Nastavenie ALERTov v nagios

Otvorte hlavný konfiguračný súbor av prípade potreby odkomentujte riadok cfg_file=/usr/local/nagios/etc/objects/contacts.cfg:

mcedit /usr/local/nagios/etc/nagios.cfg

V súbore definujeme kontaktnú e-mailovú adresu na zasielanie upozornení:

mcedit /usr/local/nagios/etc/objects/contacts.cfg

definovať kontakt (
meno_kontaktu nagiosadmin
použite všeobecný kontakt
alias Nagios Admin
email [e-mail chránený]

}

Reštartovanie služby

cyctemctl reštart nagios

Môžete použiť aj doplnkové softvér cez ktoré sa dajú posielať napríklad SMS správy ALERT o základných službách. Funkčný server Nagios bol prijatý, inštalácia a konfigurácia sú dokončené.

V prípade serverov môžete nainštalovať server Nagios a klienta na rovnakom počítači, ale je oveľa jednoduchšie použiť iný balík, ako napríklad .

Nagios je jedným z najpoužívanejších monitorovacích nástrojov. Linuxové servery a Windows open source. S ním môžete sledovať priebeh rôzne aplikácie a služby na diaľku cez webové rozhranie. Nagios dokáže monitorovať aj smerovače a iné sieťové zariadenia.

Pomocou Nagios môžete sledovať základné parametre servera, ako je zaťaženie procesora, využitie pamäte atď. To všetko je dostupné vo webovom rozhraní, ktoré vyžaduje na prístup jednoduchú autentifikáciu. V tomto článku sa pozrieme na to, ako prebieha inštalácia Nagios Ubuntu, ako aj na konfiguráciu tohto programu.

Existuje niekoľko spôsobov, ako nainštalovať Nagios Ubuntu 16.04. Môžete použiť PPA alebo nainštalovať pomocou archívu stiahnutého z oficiálnej webovej stránky. Na tento moment najnovšia verzia je 4.3. V PPA je k dispozícii iba 4.2, takže sa na to pozrieme manuálna inštalácia pomocou archívu.

Ale predtým, ako pristúpime k inštalácii, musíte aktualizovať systém a nainštalovať všetky potrebné komponenty na zostavenie programu:

sudo apt install build-essential apache2 php7.0 openssl perl make php7.0-gd libgd2-xpm-dev libapache2-mod-php7.0 libperl-dev libssl-dev démon wget apache2-utils unzip

Potom musíte vytvoriť skupinu a používateľa, pod ktorým bude Nagios bežať, ako aj príkazy shellu vykonávané vo webovom rozhraní:

sudo useradd nagios
$ sudo groupadd nagcmd

Pridajte používateľa nagios a používateľa, pod ktorým Apache beží, do skupiny nagcmd:

sudo usermod -a -G nagcmd nagios
$ sudo usermod -a -G nagcmd www-data

Ďalej musíme stiahnuť zdroje nagios. Dá sa to urobiť príkazom terminálu, ale keďže chceme získať maximum Nová verzia, je lepšie prejsť na oficiálnu webovú stránku a stiahnuť.

Najprv kliknite na položku "Nagio Core", potom prejdite nadol a stlačte Stiahnuť ▼:

V tejto fáze môžete vyplniť informácie o sebe alebo preskočiť kliknutím "Preskočiť sťahovanie":

Zostáva vybrať verziu, napríklad 4.3.2. Po dokončení sťahovania prejdite do priečinka sťahovania a rozbaľte archív:

cd ~/Na stiahnutie/
$ tar -zxvf /tmp/nagios-4.3.2.tar.gz

Teraz môžeme prejsť na zostavovanie nagios. Ak to chcete urobiť, musíte spustiť nasledujúce príkazy:

./configure --with-nagios-group=nagios --with-command-group=nagcmd --with-httpd_conf=/etc/apache2/sites-enabled/
$make all
$ sudo make install
$ sudo make install-init
$ sudo make install-config
$ sudo make install-commandmode
$ sudo make install-webconf

Nastavenie Nagios na Ubuntu

Všetky konfiguračné súbory programu umiestni inštalátor do /usr/local/nagios/etc/. Predvolené nastavenia umožňujú spustiť Nagios, ale musíme urobiť ešte niekoľko zmien. Otvorte súbor contact.cfg a zmeňte e-mailovú adresu, na ktorú sa budú odosielať upozornenia:

sudo vi /usr/local/nagios/etc/objects/contacts.cfg

definovať kontakt (
meno_kontaktu nagiosadmin ; Krátke používateľské meno
použiť všeobecný kontakt; Predvolená šablóna
alias Nagios Admin ; Celé používateľské meno
email [e-mail chránený] webová stránka; Tvoj email
}

Aby webové rozhranie fungovalo, musíte vytvoriť heslo pre používateľa nagiosadmin pomocou htpasswd, bez ktorého jednoducho nemôžete vstúpiť do rozhrania:

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Nakoniec, pre správnu činnosť je potrebné vykonať niekoľko nastavení pre webový server. Povoliť modul cgi:

sudo a2enmod cgi

Reštartujte webový server:

reštart služby sudo apache2

Na získanie pridané vlastnosti nagios si môžete nainštalovať sadu pluginov. Ak to chcete urobiť, najprv si ho stiahnite:


Teraz rozbaľte archív a prejdite do priečinka s ním:

tar -zxvf /tmp/nagios-plugins-2.1.1.tar.gz
$ cd /tmp/nagios-plugins-2.1.1/

Na kompiláciu modulov spustite:

./configure --with-nagios-user=nagios --with-nagios-group=nagios
$make
$ vykonať inštaláciu

Moduly sú nainštalované v priečinku Nagios, teraz skontrolujte, či je konfigurácia správna:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Na automatické spustenie vytvorte súbor Unit pre systemd:

sudo vi /etc/systemd/system/nagios.service


Popis=Nagios
BindTo=network.target


WantedBy=multi-user.target


Používateľ=nagios
Skupina=nagios
Typ = jednoduchý
ExecStart=/usr/local/nagios/bin/nagios /usr/local/nagios/etc/nagios.cfg

Spustenie Nagios

Takmer všetko je pripravené, zostáva spustiť službu a začať ju používať. Ak chcete spustiť službu, zadajte:

sudo systemctl stat nagios

Na otvorenie webového rozhrania nagios bude stačiť zadať do prehliadača IP adresu a url nagios. Ak ste toto všetko nainštalovali na lokálny počítač, použite:

http://localhost/nagios

Ihneď po otvorení stránky budete musieť zadať používateľské meno nagiosadmin a heslo, ktoré ste si predtým nastavili. Potom môžete používať všetky funkcie programu:

závery

V tomto článku sme sa pozreli na to, ako nastavenie nagios 4 a tiež úplná inštalácia Najnovšia verzia v operačnom systéme Ubuntu. Napriek tomu, že na prvý pohľad sa všetko zdá komplikované, proces je pomerne jednoduchý. Teraz môžete sledovať nagios ubuntu 16.04. Dúfam, že vám tieto informácie pomohli.