petak, 27 decembra, 2024
Slobodni profesionalac

FAN (2. deo) – Nagios

Autor: Stefan Biševac

U prvom članku uveli smo vas u pojam i definiciju FAN-a. Na slici 1 prikazane su komponente datog sistema. Kao što smo i obećali, u narednim tekstovima pisaćemo o pojedinačnim komponentama ovog sistema, dati uvod u osnovne pojmove i načelne konfiguracije svake komponente ponaosob. Prva i najvažnija je Nagios pa će u narednom delu teksta biti iznete najvažnije stavke ove komponente. Kolege koje već koriste Nagios jezgro (eng. Nagios Core) ovaj deo teksta mogu da preskoče ili da se pak podsete nekih stvari koje su im postale rutine u radu sa Nagiosom.

S obzirom da se FAN može preuzeti sa zvanične stranice FAN organizacije kao nezavistan sistem koji se instalira na CentOS operativnom sistemu, smatramo da nije potrebno prikazivati instalacije svake komponente. U samom paketu FAN-a dolaze unapred instalirane sve tri. Ukoliko koristite već podešen Nagios u samostalnoj verziji Nagios jezgra, naš savet je da konfiguracione datoteke prebacite na Nagios koji dolazi u paketu FAN i izvršite minimalna, neophodna podešavanja. Kolege koje do sada nisu koristile Nagios nemaju o čemu da brinu jer u narednom delu teksta sledi uvod u Nagios.

Nagios

Nagios je centralna komponenta FAN sistema i kao takva praktično predstavlja njegovu centralnu jedinicu, tj. kompletna obrada podataka i odlučivanje vrši se u Nagios jezgru. Da bismo uopšte nastavili o detaljima, krenućemo u obrnutom smeru, od vrha ka dnu, pokazaćemo gde je mesto FAN-a u mrežnoj infrastrukturi do načina na koji Nagios funkcioniše.

Slika 2, prikazuje mesto i ulogu Nagios monitoring sistema u mreži. Najčešće se postavlja u kontrolisanoj zoni mreže i bliže uređajima na kojima se izvršavaju servisi od velikoj značaja.Na slici 2, prikazana je logička šema mrežne infrastrukture. Dakle, Nagios može da prati stanje fizičkih uređaja kao i servisa koji se na njima izvršavaju. Da bi Nagios uopšte funkcionisao kao monitoring sistem, on mora imati pristup svakom uređaju nad kojim se vrši nadzor ili da postoji posrednik koji ima vezu sa željenim uređajem i koji će za njega izvršavati proveru, a zatim vraćati informaciju u unapred definisanom obliku. Ovde se dolazi do prvog važnog pitanja, a ono glasi: „Ukoliko želimo da Nagios vrši direktne provere nad uređajima koji se nalaze u zasebnim virtuelnim mrežama (VLAN) koje pak nisu rutabilne, kako da prevaziđemo ovaj problem s obzirom na to da je Nagios dodeljen jednoj od virtuelnih mreža?”. Odgovor se krije u samoj mrežnoj infrastrukturi. Ukoliko imate fizičke servere, tada će vam posao biti težak jer će broj virtuelnih mreža određivati broj fizičkih kartica ili ćete pak morati da između određenih virtuelnih mreža uspostavite konektivnost. Ukoliko imate virtuelizovanu infrastrukturu, tada se posao svodi na dodavanje vrituelne mrežne kartice Nagios virtuelnoj mašini. Vodite računa da Nagios server može da ima mrežni prolaz (eng. gateway) samo na jednoj mrežnoj kartici. Shodno prethodnom tekstu utvrdili smo gde je načelna pozicija Nagios servera. Ono što sada treba objasniti jeste kako Nagios funkcioniše, tj. na koji način vrši nadzor uređaja i servisa. Postoji razlika kada su u pitanju sistemi nad kojima se vrši nadzor pa tako dolazimo do užeg definisanja infrastrukturnih komponenti. To su serveri na kojima se izvršavaju Vindouz i Linuks operativni sistemi, a sa druge strane to su mrežni uređaji koji moraju posedovati SNMP protokol, inače Nagios neće biti u stanju da monitoriše i upravlja datim mrežnim uređajima.

Monitoring mašina

Nagiosov princip rada dat je na slici 3. U prvom sloju nalazi se Nagios jezgro, tj. logika monitoringa. Iz ovog sloja se upućuju zahtevi za proverom uređaja i servisa. Da bi Nagios bio u stanju da vrši provere nad nezavisnim mrežnim subjektima, on mora posedovati pomoćne programe (plagins) kojima izvršava specifične naredbe. Pomoćni programi se mogu nalaziti na Nagios strani ili na strani udaljenih servera u zavisnosti od informacija koje su nam potrebne.Nagios Remote Plugin Executor predstavlja agent koji je namenjen za izvršavanje pomoćniih programa na Linuks operativnom sistemu. Kod Linuks mašina postoji i provera koristeći SSH, međutim, sama upotreba ovog protokola zahteva i snažnije resurse Nagiosa pogotovo kada je reč o velikom broju provera putem ovog protokola. Sistem rada sastoji se iz nekoliko faza: Nagios putem pomoćnog programa check_ nrpe izdaje set naredbi udaljenom uređaju na kojem se nalazi NRPE, prihvaćen set komandi se izvršava i dobijene informacije se vraćaju nazad do Nagiosa. Ova jednostavna arhitektura ostavlja velike mogućnosti sistem administratorima da sami napišu pomoćne programe, a da se njihovo izvršenje svede na sistem rada NRPE. Sličan način rada definisan je i za Vindous servere koji koriste check_nt pomoćni program i NSClient++ agent.NRPE i NSClient++ imaju istu ulogu u funkciji Nagios nadzora. Više detalja o ovim agentima moguće je pronaći na zvaničnim veb stranicama ovih slobodnih softverskih proizvoda. Ostalo je da definišemo i provere koje se vrše nad mrežnim uređajima. Za ovaj tip provera Nagios koristi pomoćne programe check_snmp i check_mrtgtraf. Ulogu agenta u ovom slučaju igra SNMP protokol na strani mrežnog uređaja. Nagios izda zahtev za specifičnom proverom po određenom objektu u MIB bazi. SNMP vrati informaciju do Nagios jezgra koja biva prikazana u veb okruženju. Konkretno podešavanje biće prikazano u narednim tekstovima sa detaljima i specifičnostima koje nosi ovakav tip provere. Slika 5 grafički ilustruje princip rada Nagiosa koji vrši proveru putem SNMP protokola.

Konfiguracija Nagiosa vrši se kroz njegove konfiguracione datoteke. Ukoliko ne vladate dobro Linuks okruženjem, tada u pomoć stiže Centreon komponenta FAN sistema koja će biti objašnjena u narednom članku. Za one napredne i radoznale, preporučujemo da ipak prouče Nagiosove konfiguracione datoteke kako bi imali potpuni uvid u rad Nagiosa jer je Centreon komponenta koja zamenjuje konzolu grafičkim pristupom datotekama. Time se smanjuje mogućnost greške prilikom konfiguracije koju korisnik unosi pisanjem po datotekama Nagiosa.