Osnovna instalacija i konfiguracija Nagios 4 na CentOS 7 (korak po korak)

Nagios je jedan od najboljih i najviše korišćenih open source softverskih alata namenjenih za nadgledanje stanja sistemskih i mrežnih resursa i komponenti.
Nagios nadgleda  servere, svičeve, rutere, aplikacije, servise, procese, portove,…

Pravovremeno upozorava System Administratore kada nešto u sistemu nije u redu a takođe ima i notifikaciju i kada se servis oporavi.

Sa Nagios-om možemo da nadgledamo udaljene host-ove i njihove servise sve u jednom prozoru. Pokazuje nam upozorenja (warnings), što može pomoći u otkrivanju, sprečavanju i rešavanju problema u sistemu dok se još nisu desili ili nisu napravili veću štetu u sistemu.
Pomaže nam da smanjimo vreme otkaza (downtime) i poslovnih gubitaka (business losses).
Originalno razvijen za rad pod Linux platforom, pri čemu odlično radi i pod ostalim UNIX  kompatibilnim platformama. Licenciran je pod uslovima GNU GPL licence verzija 2 koju je objavila Free Software Foundation.

Pregled važnijih mogućnosti

  • nadgledanje dostupnosti mrežnih servisa (PING, DNS, HTTP, SSH, SMTP, POP3, IMAP, itd.);
  • nadgledanje sistemskih resursa hostova (opterećenje procesora, iskorišćenost RAM memorije, opterećenje hard diskova, stanje mrežnih interfejsa, status vitalnih procesa, error ili warning logove u Event Logu,  itd;
  • jednostavni plagin (plug-in) koncept koji dozvoljava korisniku da lako razvija i implementira sopstvenove plaginove za nadgledanje specifičnih servisa;
  • otkrivanje i razlikovanje hostova koji su nedostupni od onih koji su pali pomoću ugrađenig koncepta roditeljskih hostova i mrežne hijerarhije;
  • obaveštavanje u slučaju pojave neregularnog rada hostova ili servisa i njihovog oporavka (putem e-maila, SMS-a ili nekom drugom korisničkom metodom(software Nagstamon));
  • mogućnost da se definišu unapred poznati događaja (event handlers) koji su aktivni za vreme izvršavanja servisa ili dešavanja događaja na hostu i koji mogu da rešavaju probleme proaktivno;
  • podrška za implementaciju redundantnih servera za nadgledanje IT infrastrukture;
  • podrška za implementaciju distribuiranog nadgledanja IT infrastrukture;
  • informativan web interfejs za uvid u tekući status mreže, poslata obaveštenja, istoriju problema, log datoteke, itd;
  • Brza identifikacija problema u IT sistemu pre nego što se ugrozi rad sistema;
  • pomaže nam u planiranju budžeta za IT nadogradnju;
  • Smanjuje vreme otkaza kao i cenu poslovnog gubitka usled otkaza određenog servisa ili usluge.

Na kraju instalacije dobićemo sledeće:

  1. Nagios i plaginovi biće instalirani na putanji /usr/local/nagios .
  2. Nagios će biti konfigurisan za nadgledanje nekoliko servisa lokalne mašine, samog servera (Disk Usage, CPU Load, Current Users, Total Processes, itd.)
  3. Nagios web interface biće dostupan na adresi http://IP-Address-Nagios-Servera/nagios

Nagios server

Operativni sistem: CentOS 7 minimal server
IP Address: IP-Address-Nagios-Servera
Hostname: NAGIOS

Korak 1: Instalacija neophodnih pomoćnih programa

Na početku potrebno je da instaliramo web servis Apache. Koristimo yum – podrazumevani paket instaler za CentOS. Pretpostavka je da smo preko ssh ulogovani preko nekog terminala (preporučujem putty ili Tera Term) kao root na naš server.

Prvo, očistimo yum:

Vodeći se uobičajenom praksom radimo i ažuriranje paketa:

Instalaciju Apache startujemo samo sa jednom komandom:

Dozvoljavamo podrazumevane (default) HTTP i HTTPS portove, 80 i 443, kroz zaštitni zid firewalld komandama:

I reinicijalizujemo opet zaštitni zid posle promena komandom:

Na kraju startujemo Apache:

Proveravamo i postavljamo da se Apache startuje pri pokretanju servera:

Proveru statusa Apache servisa postižemo komandom:

Komanda za stopiranje Apache-a:

Ako je sve u redu sa instalacijom potrebno je da dobijemo sledeću sliku kada u željeni internet pretraživač (web browser) ukucamo adresu našeg servera: http://IP-Address-Nagios-Servera/

Apache11

Instalacija ostalih pomoćnih i potrebnih programa (required dependencies)

Potrebno je da instaliramo PHP i još neke biblioteke kao što su gcc, glibc, glibc-common i GD bibilioteke kao i neke razvojne biblioteke pre nego što krenemo sa instalacijom Nagios 4.1.1. Komanda za instalaciju je sledeća:

Korak 2: Kreiranje Nagios korisnika i grupe

Kreiramo novog korisnika nagios i korisničku grupu nagcmd

Sledeće, dodajemo i nagios i apache korisnika u korisničku grupu nagcmd.

Korak 3: Preuzimanje i raspakivanje Nagios Core-a i Nagios Plugins paketa

Kreiramo direktorijum nagios za Nagios instalaciju i za sva buduća preuzimanja.

Pomoću komande wget preuzimamo poslednju verziju Nagios Core i Nagios plugins paketa.

Potrebno je da raspakujemo preuzete pakete sa interneta pomoću komande tar na sledeći način:

Posle raspakivanja pojaviće se dva nova direktorijuma što proveravamo komandom ll
listdirnagios

Korak 4: Konfiguracija i instalacija Nagios Core- a

Prvo ćemo konfigurisati Nagios Core, a da bi to odradili idemo u Nagios direktorijum i pokrenemo komandu configure i definišemo komandnu grupu. Ovde sad koristimo osnovnu formu ove komande bez dodatnih opcija.

U punom obliku komanda configure glasi:
./configure –prefix=/usr/local/nagios –with-cgiurl=/nagios/cgi-bin –with-htmurl=/nagios/ –with-nagios-user=nagios –with-nagios-group=nagcmd –with-command-group=nagcmd
gde je:
–prefix=/usr/local/nagios – Nagios root folder
–with-cgiurl=/nagios/cgi-bin – Nagios CGI folder
–with-htmurl=/nagios/ – Nagios HTML/Website folder
–with-nagios-user=nagios – Nagios korisnik
–with-nagios-group=nagcmd – Nagios grupa
–with-command-group=nagcmd – Nagios command group u kojoj su članovi webserver korisnik apache i nagios korisnik.

Ako je konfiguracija prošla bez problema prikazaće se na kraju Configuration summary kao na sledećoj slici:
confsummarynagios
Posle konfiguracije potrebno je da kompajliramo i instaliramo binarne fajlove sa komandama make all i make install. Ovim instaliramo sve potrebne biblioteke i možemo da nastavimo dalju konfiguraciju.

Izlaz posle komandi je sledeći:
mainnagios

Sledeća komanda make install-init instaliraće init skripte u direktorijum /etc/rc.d/init.d za Nagios.

Da bi omogućili da nagios radi i iz komandne linije potrebno je da instaliramo command-mode.

Sledeće je instalacija uobičajenih nagios fajlova u direktorijum /usr/local/nagios/etc sa sledećom komandom:

Na ekranu dobijamo sledeći prikaz ako je sve proteklo u redu:
confsummarynagios2

Korak 5: Prilagođavanje Nagios konfiguracije

Otvorimo fajl “contacts.cfg” sa nekim tekst editorom i treba da postavimo mejl adresu za korisnika nagiosadmin u samoj definiciji kontakta da bi primali notifikaciju preko mejla za otkaz i/ili oporavak servisa ili hosta.

Ekranski prikaz:
menjamo liniju
email nagios@localhost ; <<****** CHANGE TO YOUR EMAIL ADDRESS ********
contact

Restartujemo Apache:

Korak 6: Instalacija i konfiguracija Web Interface za Nagios

Sada je potrebno da konfigurišemo Web Interface za Nagios. Sledeće komande će konfigurisati Web interface za Nagios kao i web admin korisnika “nagiosadmin”.

Sledeće je da promenimo fajl nagios.conf na putanji /etc/httpd/conf.d/.

Menjamo linije ako želimo da pristupimo nagios administrative console iz tačno definisanih IP opsega.

nagioscfg

U sledećem koraku kreiramo lozinku za web admin korisnika “nagiosadmin”. Posle sledeće komande upisujemo lozinku koju ćemo koristiti pri logovanju na Nagios Web interface pa ju je potrebno zapamtiti.

httpasswdnagiosadmin

Restart Apache da bi promene koje smo uradili imali efekta

Korak 7: Kompajliranje i instalacija Nagios Plugin-a

Sa interneta smo već preuzeli nagios plugins i smestili u direktorijum /root/nagios. Idemo u taj direktorijum i sa već poznatim komandama radimo konfiguraciju i instalaciju plaginova:

Korak 8: Verifikacija (proveravanje) ispravnosti Nagios konfiguracionoh fajlova

Na kraju posle instalacije i konfiguracije Nagios-a potrebno je proveriti njegovu ispravnost i to radimo sledećom komandom:

Ako je sve prošlo bez problema i grešaka dobićemo sledeći ekran:
nagioscore

Korak 9: Dodavanje Nagios servisa u System Startup

Da bi obezbedili da se Nagios podigne i radi posle restarta mašine potrebno je da dodamo nagios servis u startup sa komandom chkconfig.

Restartujemo Nagios da bi promene koje smo uradili imali efekta.

Adjust SELinux Settings

Podrazumevana vrednost za SELinux je enforcing mode i možemo da dobijemo grešku sa porukom “Internal Server Error” kada pokušamo da pristupimo Nagios CGIs.
Da bi izbegli ovu grešku, menjamo fajl config na putanji /etc/selinux/:

Setujemo SELinux na permissive mode kao na sledećoj slici.
selinux

Restartujemo server kako bi promene koje smo napravili imali efekta ili umesto restarta startujemo komandu

Korak 10: Prijavljivanje na Nagios Web Interface

Nagios je spreman za rad i prijavljujemo se preko web browser-a ukucavanjem adrese “http://Your-server-IP-address/nagios” i dobijamo prozor u kome treba da unesemo korisničko ime “nagiosadmin” i lozinku.

Nagios Login – prozor za prijavu na web interface
Login

Nagios Web Interface
WebInterface

Host View – pregled nadgledanih host-ova
HostView

Nagios Overview – prozor za opšti prikaz šta se sve nadgleda (monitoriše)
Overview

Service View – pregled nadgledanih service-a
ServiceView

Process View – pregled samog Nagios Process-a i informacija o njemu
Process

Čestitamo. Ovim smo uspešno instalirali i konfigurisali Nagios i njegove dodatke – Plugins. Ovo je tek početak u procesu nadgledanja i monitorisanja sa Nagios-om. Nastaviće se…

2 komentara na tekst Osnovna instalacija i konfiguracija Nagios 4 na CentOS 7 (korak po korak)

  • N3n4D

    Odlično uputstvo ali mi jedna stvar nije jasna, ne samo ovde nego i inače: Zašto svi isključuju selinux? U ovom slučaju na serveru koji će pristupati svim ostalim delovima mreže i koji ima apache vi gasite selinux. Nemoguće je da nema trika da se on uključi i iskonfiguriše da radi normalno sa Nagiosom. Lično ću instalirati Nagios po ovom uputstvu i probunariti oko selinuxa i ako uspem da namestim poslaću upustvo Draži
    Budite mi dobro i nastavite tako i dalje

  • Goran

    Sve pohvale, nadam se uskoro jos ovakih tekstova, posebno programa koje se koriste u administraciji mreze i servera.

Komentarišite

Email neće biti javno objavljen. Sajt je neobavezan podatak, svi ostali su obavezni.