srce sys seminari nadzor nagios v.10
DESCRIPTION
Srce Sys Seminari Nadzor Nagios v.10TRANSCRIPT
Srce seminar / Nadzorni sustav Nagios
Nadzorni sustav NagiosNadzorni sustav Nagios
Emir ImamagićSveučilišni računski centar (Srce)
Srce seminar / Nadzorni sustav Nagios
SadrSadržžajaj
v Uvodv Nagiosv Instalacijav Konfiguracijav Senzoriv Savjetiv Demov Nagios @ Srcev Reference
Srce seminar / Nadzorni sustav Nagios
Uvod Uvod -- zazaššto nadzor?to nadzor?
v Uočavanje problema u radu sustavav Praćenje iskorištenosti i učinkovitosti rada sustava v Jednostavnije održavanje resursav Post-mortem analiza problemav Izrada izvješća
Srce seminar / Nadzorni sustav Nagios
Uvod Uvod –– svojstva sustava za svojstva sustava za nadzor?nadzor?
v Podesivostw npr. učestalost pojedinih provjera
v Ne utjecanje na objekt nadzora (engl. non-intrusiveness)v Obavještavanje kod problema v Automatski oporavak od problemav Proširivost komponenata za nadzor (senzora)
w razvoj vlastitih senzora
v Sučelje za prikaz podataka i upravljanje nadzoromv Autorizacija
Srce seminar / Nadzorni sustav Nagios
NagiosNagios
v Open source sustav za mrežni nadzorv Aktivan razvoj & velika baza korisnikav Uočavanje, obavještavanje i mogući oporavak od
problema u radu poslužitelja i servisa
v Aktivna verzija 2.xw bitna razlika od 1.x – nema podrške za bazu podatakaw razvojni modul – NDOUtils omogućava spremanje u MySQL
bazu podataka
Srce seminar / Nadzorni sustav Nagios
ŠŠto se nadzire?to se nadzire?
v Razine nadzoraw dostupnost w funkcionalnost
v Poslužitelji (host)w poslužitelji, radne stanicew mrežni ureñaji (npr. preklopnik)w bilo kakav ureñaj spojen na mrežu
v Servisi (service)
w mrežni servisi (npr. web poslužitelj)w parametri poslužitelja (npr. opterećenje memorije)w servis je uvijek vezan za odreñeni poslužitelj
Srce seminar / Nadzorni sustav Nagios
Kako se izvodi nadzor?Kako se izvodi nadzor?
v Nagios proces w rasporeñuje izvoñenje provjera
objekata (engl. check)w izvodi dodatne aktivnosti
(obavještavanje)w nema ugrañene mehanizme
provjere
v Senzoriw ostvaruju provjeru poslužitelja
& servisaw postoji veliki skup gotovih
senzoraw moguć razvoj vlastitih senzora
Srce seminar / Nadzorni sustav Nagios
Oblici implementacijeOblici implementacije
v Centralizirana implementacija
w središnji Nagios servis nadzire cijeli sustav
v Prednostw na pojedinim poslužiteljima nije potrebno ništa instalirati
v Problemiw skalabilnostw postoje parametri nedohvatljive putem mrežew poslužitelji u privatnim ili nedostupnim mrežama
Srce seminar / Nadzorni sustav Nagios
Oblici implementacijeOblici implementacije
v Raspodijeljena implementacija
w središnji Nagios + servisi na udaljenim poslužiteljima
v Pasivni klijentiw središnji Nagios upravlja
nadzoromw provjere na udaljenim
strojevima sa servisom NRPE
w (engl. Nagios RemotePlug-in Executor)
Srce seminar / Nadzorni sustav Nagios
Oblici implementacijeOblici implementacije
v Aktivni klijentiw Nagios na udaljenim
strojevima upravlja provjerama
w rezultati se šalju središnjem Nagiosu sa servisom NSCA – pasivne provjere
w (engl. Nagios ServiceCheck Acceptor)
Srce seminar / Nadzorni sustav Nagios
Parametri izvoñenja provjeraParametri izvoñenja provjera
v Provjera servisaw razdoblje aktivnosti (npr. 8-16 radnim danom)w broj pokušaja prije donošenja zaključka o problemuw periodi izmeñu provjera
• normalni period • period u slučaju uočavanja problema
v Provjera poslužiteljaw razdoblje aktivnostiw broj pokušaja prije donošenja zaključka o problemuw provjere se ne izvode periodički nego po potrebi
Srce seminar / Nadzorni sustav Nagios
Stanja objekataStanja objekata
v Poslužiteljiw Up, Down, Unreachable
v Servisiw Ok, Warning, Unknown, Critical
v Vrste stanjaw soft
• uočena promjena stanja, ali nije izveden definiran broj pokušaja
w hard • uočena promjena stanja i izveden definiran broj pokušaja• objekt se oporavio iz stanja greške
Srce seminar / Nadzorni sustav Nagios
UoUoččavanje problemaavanje problema
v Nakon definiranog broja pokušajaw tip stanja hard
v Akcijew zapisivanje u dnevnikw obavještavanje definiranih kontakt osobaw pokretanje oporavka od problema
Srce seminar / Nadzorni sustav Nagios
ObavjeObavješštavanjetavanje
v Za svaki objekt se navodiw lista kontakt osobaw uvjeti obavještavanja (razdoblje, stanje & ponavljanje obavijesti)w koristi se za autorizaciju
v Konfiguracija kontakt osobaw kratko i puno imew uvjeti obavještavanja za poslužitelje i servisew email adrese
v Eskalacija obavijestiw ako se problem ne riješi obavijesti se šalju alternativnim kontakt
osobama
Srce seminar / Nadzorni sustav Nagios
Hijerarhija i ovisnosti objekataHijerarhija i ovisnosti objekata
v Hijerarhija omogućava uvjetovanjew slanja obavijestiw izvoñenja provjera
v Tri vrste ovisnostiw implicitna ovisnost servisaw hijerarhija poslužiteljaw eksplicitna ovisnost poslužitelja i servisa
Srce seminar / Nadzorni sustav Nagios
Implicitna ovisnost servisaImplicitna ovisnost servisa
v Servis ovisi o pripadnom poslužiteljuv Uvjetuje zaustavljanje slanja obavijesti
w ako je poslužitelj nedostupan ne šalju se obavijesti za pripadne servise
v Servisi se i dalje provjeravajuw značajno za statistike dostupnosti servisaw npr. moguće da ICMP ne radi, a ostali promet da
Srce seminar / Nadzorni sustav Nagios
Hijerarhija posluHijerarhija poslužžiteljaitelja
v Svaki poslužitelj može imati više roditeljaw definira se atributom parents u objektu
host
v Ako su svi roditelji u stanju down –poslužitelj je unreachable
v Uvjetuje zaustavljanje slanja obavijestiw moguće regulirati atributom
notification_options
v Razlikovanje mrežnih problema od problema s poslužiteljem
Srce seminar / Nadzorni sustav Nagios
Eksplicitna ovisnost posluEksplicitna ovisnost poslužžitelja itelja i servisai servisa
v Ovisnost 2 poslužitelja ili 2 servisaw pomoću objekata hostdependency i servicedependency
v Ovisno o stanju definira sew slanje obavijesti za ovisnog objektaw izvoñenje provjera ovisnog objekta
v Preporuča se izvoñenje akcija zbog ispravnosti statistika
Srce seminar / Nadzorni sustav Nagios
Upravljanje nadzoromUpravljanje nadzorom
v Upravljanje slanjem obavijestiv Upravljanje izvoñenjem provjerav Potvrñivanje problema (acknowledging problems)v Izvoñenje provjera
w pojedinih servisa ili w svih servisa na odreñenom poslužitelju
v Najavljivanje nedostupnostiv Ostvaruje se programski ili putem web sučelja
Srce seminar / Nadzorni sustav Nagios
Oporavak od problemaOporavak od problema
v Definiranje akcija (engl. event handler) u slučaju problemaw npr. ponovno pokretanje servisa
v Potrebno podesiti ovlasti korisnika nagiosw npr. pomoću sudo naredbe
Srce seminar / Nadzorni sustav Nagios
Pasivne provjerePasivne provjere
v Provjere koje ostvaruje vanjski sustav za nadzorv Nagios ne upravlja izvoñenjem pasivnih provjerav Prikladno za slučajeve
w kada Nagios ne može izravno izvesti provjeruw za provjere koje se ne mogu izvoditi periodičke (npr. sigurnosni
incidenti, SNMP zamke)w raspodijeljena instalacija (NCSA)
Srce seminar / Nadzorni sustav Nagios
UUččestalo mijenjanje stanjaestalo mijenjanje stanja
v Posebno tretiranje poslužitelja i servisa koji učestalo mijenjaju stanje (flapping)w uvjetuje zaustavljanje slanja obavijesti
v Mogući uzrociw stvarni problemiw nepravilno postavljene granice za stanja Warning i Critical
v Više informacijaw http://nagios.sourceforge.net/docs/2_0/flapping.html
Srce seminar / Nadzorni sustav Nagios
Web suWeb suččeljeelje
v Prikaz stanja objekataw trenutno stanje & povijest
v Upravljanje nadzoromv Stvaranje izvještaja i grafova
w dostupnost & promjene stanja
v Autentikacija v Autorizacija na razini poslužitelja i servisa
Srce seminar / Nadzorni sustav Nagios
Srce seminar / Nadzorni sustav Nagios
InstalacijaInstalacija
Srce seminar / Nadzorni sustav Nagios
Oblici instalacijeOblici instalacije
v Izvorni programski kodw način opisan u nastavku
v Paketi za različite distribucijew Debianw RedHat-based
v U obliku ureñajaw http://www.nagios.org/products/nagiospowered/azeti/
Srce seminar / Nadzorni sustav Nagios
InstalacijaInstalacija
v Download nagios-2.x.tar.gzw http://www.nagios.org/download
v Postupak./configure --prefix=/usr/local/nagios
--with-cgiurl=/nagios/cgi-bin
--with-htmlurl=/nagios
--with-nagios-user=nagios
--with-nagios-group=nagios
--with-command-group=apache
make all
make install # as root
make install-init # as root
make install-commandmode # as root
make install-config # as root
Srce seminar / Nadzorni sustav Nagios
Instalacija senzoraInstalacija senzora
v Download nagios-plugins-x.x.tar.gzw http://www.nagios.org/download
v Postupak
v Postoji dosta ovisnosti o programskim knjižnicama
./configure --prefix=/usr/local/nagios
--disable-nls
make all
# as root:
make install
Srce seminar / Nadzorni sustav Nagios
Struktura direktorijaStruktura direktorija
v bin/ - izvršne datotekev etc/ - konfiguracijav libexec/ - senzoriv sbin/ - CGI skriptev share/ - HTML datoteke od web sučeljav var/ - dnevnici, datoteke za spremanje stanjav var/archives – povijest rezultatav var/rw – direktorij za izvoñenje operacija
Srce seminar / Nadzorni sustav Nagios
PokretanjePokretanje
v Ručno pokretanje
v Servis
v Provjera konfiguracije
/usr/local/nagios/bin/nagios \
/usr/local/nagios/etc/nagios.cfg
/etc/init.d/nagios start
/usr/local/nagios/bin/nagios –v \
/usr/local/nagios/etc/nagios.cfg
Srce seminar / Nadzorni sustav Nagios
Postavljanje web suPostavljanje web suččeljaelja
v Datoteka httpd.conf ili conf.d/nagios.conf
v Web sučeljeScriptAlias /nagios/cgi-bin
/usr/local/nagios/sbin
<Directory "/usr/local/nagios/sbin">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access“
AuthType Basic
AuthUserFile
/usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>
Srce seminar / Nadzorni sustav Nagios
Postavljanje web suPostavljanje web suččeljaelja
v CGI skripte
Alias /nagios /usr/local/nagios/share
<Directory "/usr/local/nagios/share">
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access“
AuthType Basic
AuthUserFile
/usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>
Srce seminar / Nadzorni sustav Nagios
Postavljanje web suPostavljanje web suččeljaelja
v Stvoriti korisnike
htpasswd -c \
/usr/local/nagios/etc/htpasswd.users apache
Srce seminar / Nadzorni sustav Nagios
KonfiguracijaKonfiguracija
v Glavna konfiguracijska datotekav Korisničke postavkev Konfiguracija web sučeljav Konfiguracija objekata
Srce seminar / Nadzorni sustav Nagios
Glavna konfiguracijska datotekaGlavna konfiguracijska datoteka
v Različiti globalni parametri Nagiosaw obavještavanje, oporavak od problema, rasporeñivanje, provjerew lokacije različitih datoteka i konfiguracijaw 95 parametara
v Preporuča se koristiti podrazumijevane vrijednosti v Potrebno definirati datoteke s konfiguracijom objekata
w parametar cfg_file
v Podrazumijevana lokacijaw etc/nagios.cfg
Srce seminar / Nadzorni sustav Nagios
KorisniKorisniččke postavkeke postavke
v Definiranje specifičnih podatakaw username/pasword za spajanje na bazuw lokacija datoteka koje koriste senzori
v Format
v Podrazumijevana lokacijaw etc/resources.cfg
$USER1$=/usr/local/nagios/libexec
$USER2$=/usr/local/nagios/eventhandlers
$USER3$=dummyuser
$USER4$=dummypassword
Srce seminar / Nadzorni sustav Nagios
Konfiguracija web suKonfiguracija web suččeljaelja
v Postavke:w autentikacija i autorizacijaw postavke prikaza
v Autorizacijaw za proces Nagiosw na razini objekata
v Podrazumijevana lokacija:w etc/cgi.cfg
Srce seminar / Nadzorni sustav Nagios
AutentikacijaAutentikacija
v Da li se koristi autentikacija
v Podrazumijevani korisnikw za korisnike koji se nisu autenticirali
v Preporuča se koristiti autentikaciju
use_authentication=<0/1>
default_user_name=name
Srce seminar / Nadzorni sustav Nagios
Autorizacija za proces NagiosAutorizacija za proces Nagios
v Pristup informacijama o procesu Nagios
v Upravljanje procesom Nagiosw npr. zaustavljanje procesa
v Pristup informacijama o konfiguraciji objekata
v Preporuča se dopustiti isključivo administratoru Nagiosa
authorized_for_system_information=name1,name2..
authorized_for_system_commands=name1,name2..
authorized_for_configuration_information=name1,na
me2..
Srce seminar / Nadzorni sustav Nagios
Autorizacija na razini objekataAutorizacija na razini objekata
v Pristup informacijama o svim objektima
v Upravljanje nadzorom svih objekata
v Moguće koristiti vrijednost ‘*’ – dopustiti svim korisnicimav Preporuča se dopustiti isključivo administratoru Nagiosa
w eventualno dopustiti svima pristup informacijama o svim objektima
authorized_for_all_hosts name1,name2..
authorized_for_all_services name1,name2..
authorized_for_all_host_commands name1,name2..
authorized_for_all_service_commands name1,name2..
Srce seminar / Nadzorni sustav Nagios
Konfiguracija objekataKonfiguracija objekata
Srce seminar / Nadzorni sustav Nagios
Konfiguracija objekataKonfiguracija objekata
v Opis nadziranog sustavaw poslužitelji, servisi, kontakti, razdoblja, senzori, grupe objekata
v Format
define <objekt> {
ime_atributa vrijednost_atributa
ime_atributa vrijednost_atributa
...
}
Srce seminar / Nadzorni sustav Nagios
PosluPoslužžiteljiitelji
v Objektiw hostw hostgroup (opcionalno)w hostextinfo (opcionalno)
Srce seminar / Nadzorni sustav Nagios
PosluPoslužžitelji itelji –– hosthost
v Objekt host sadrži bitne podatke o poslužitelju
kontakt osobecontact_groups
razdoblje izvoñenja provjeracheck_period
naredba za izvoñenje provjerecheck_command
adresa poslužiteljaaddress
broj pokušajamax_check_attempts
alternativno ime poslužitelja
ime poslužitelja
Opis
alias
name
Atribut
Srce seminar / Nadzorni sustav Nagios
PosluPoslužžitelji itelji –– hosthost
period izmeñu ponavljanja obavijesti (min)0 – obavijesti se ne ponavljaju
notification_interval
d, u, r, f (d-down, u-unreachable, r-recovery, f-flapping)
notification_options
razdoblje slanja obavijestinotification_period
naredba za oporavak od problemaevent_handler
alternativno ime poslužitelja
ime roditelja u hijerarhiji poslužitelja
Opis
hostgroups
parents
Atribut
Srce seminar / Nadzorni sustav Nagios
PosluPoslužžitelji itelji –– hosthost
v Primjer
define host {
name www.srce.hr
alias SRCE web posluzitelj
address 161.53.0.1
max_check_attempts 10
check_period 24x7
check_command check-host-alive
contact_groups webserver-admins
notification_interval 120
notification_options d,r
notification_period 24x7
hostgroups webservers
}
Srce seminar / Nadzorni sustav Nagios
PosluPoslužžitelji itelji –– hostgrouphostgroup
v Definicija grupe poslužitelja
v Pripadnost grupi se definiraw u objektu host (atribut hostgroups)w u objektu hostgroup (atribut members)
skup imena poslužiteljamembers
alternativno ime grupe poslužitelja
ime grupe poslužitelja
Opis
alias
hostgroup_name
Atribut
Srce seminar / Nadzorni sustav Nagios
PosluPoslužžitelji itelji –– hostgrouphostgroup
v Primjer
define hostgroup {
hostgroup_name webservers
alias Web posluzitelji
}
Srce seminar / Nadzorni sustav Nagios
PosluPoslužžitelji itelji –– hostextinfohostextinfo
v Objekt hostextinfo sadrži dodatne informacije o poslužitelju bitne za prikazw opisw slike za prikaz na web sučelju
v Nije bitan za proces nadzora
slika za prikaz na status mapistatusmap_image
ikona poslužitelja (slike staviti u direktorij share/images/logos/)
icon_image
opis poslužitelja
ime poslužitelja
Opis
notes
host_name
Atribut
Srce seminar / Nadzorni sustav Nagios
PosluPoslužžitelji itelji –– hostextinfohostextinfo
v Primjer
define hostextinfo {
host_name web.srce.hr
notes This is SRCE web server
icon_image server.gif
}
Srce seminar / Nadzorni sustav Nagios
ServisiServisi
v Objektiw servicew serviceextinfo (opcionalno)w servicegroup (opcionalno)
Srce seminar / Nadzorni sustav Nagios
Servisi Servisi –– serviceservice
v Objekt service sadrži bitne podatke o poslužitelju
period izmeñu provjera u slučaju uočavanja problema
retry_check_interval
razdoblje izvoñenja provjeracheck_period
normalni period izmeñu provjeranormal_check_interval
naredba za izvoñenje provjerecheck_command
broj pokušajamax_check_attempts
ime servisa
ime poslužitelja kojem je servis pridružen
Opis
service_description
host_name
Atribut
Srce seminar / Nadzorni sustav Nagios
Servisi Servisi –– serviceservice
kontakt osobecontact_groups
period izmeñu ponavljanja obavijestinotification_interval
w,u,c,r,f(w-warning, u-unknown, c-critical, r-recovery, f-flapping)
notification_options
razdoblje slanja obavijestinotification_period
naredba za oporavak od problemaevent_handler
grupe servisa
Opis
servicegroups
Atribut
Srce seminar / Nadzorni sustav Nagios
Servisi Servisi –– serviceservice
v Primjer
define service {
host_name web.srce.hr
service_description Web posluzitelj
check_command check_http
max_check_attempts 4
normal_check_interval 15
retry_check_interval 5
contact_groups webserver-admins
notification_interval 120
notification_options w,u,c,r
notification_period 24x7
servicegroups webservers
}
Srce seminar / Nadzorni sustav Nagios
Servisi Servisi –– servicegroupservicegroup
v Definicija grupe servisa
v Pripadnost grupi se definiraw u objektu service (atribut servicegroups)w u objektu servicegroup (atribut members)
skup imena servisamembers
alternativno ime grupe servisa
ime grupe servisa
Opis
alias
servicegroup_name
Atribut
Srce seminar / Nadzorni sustav Nagios
Servisi Servisi –– servicegroupservicegroup
v Primjer
define servicegroup {
servicegroup_name webservers
alias Web posluzitelji
}
Srce seminar / Nadzorni sustav Nagios
Servisi Servisi –– serviceextinfoserviceextinfo
v Objekt serviceextinfo sadrži dodatne informacije o servisu bitne za prikazw dodatni opisw slike za prikaz na web sučelju
v Nije bitan za proces nadzora
Srce seminar / Nadzorni sustav Nagios
Servisi Servisi –– serviceextinfoserviceextinfo
ime poslužitelja kojem je servis pridruženhost_name
ime servisaservice_description
ikona servisa icon_image
dodatni opis servisanotes
web stranica s opisom operacija nad servisom u slučaju problema
action_url
web stranica s dodatnim opisom servisa
Opis
notes_url
Atribut
Srce seminar / Nadzorni sustav Nagios
Servisi Servisi –– serviceextinfoserviceextinfo
v Primjer
define serviceextinfo {
host_name web.srce.hr
service_description Web posluzitelj
icon_image www.gif
notes Web posluzitelj
action_url www.srce.hr/manual
}
Srce seminar / Nadzorni sustav Nagios
NaredbeNaredbe
v Objektw command
v Objekt command opisuje način izvoñenja w provjere ili w oporavka od problema
komandna linija za izvoñenje provjere
naziv naredbe za izvoñenje provjerekoristi se u ostalim objektima
Opis
command_line
command_name
Atribut
Srce seminar / Nadzorni sustav Nagios
NaredbeNaredbe
v Primjer
define command {
command_name check_ssh
command_line /usr/local/nagios/libexec/check_ssh
-H $HOSTADDRESS$
}
Srce seminar / Nadzorni sustav Nagios
NaredbeNaredbe
v U command_line moguće koristiti makroe
v Formatw $<IME_MAKROA>$
v Primjeri makroaw $HOSTADDRESS$ - definirano adresa poslužiteljaw $HOSTNAME$ - definirano ime poslužitelja
v Posebni makroiw $ARG<N>$ - argumenti naredbew $USER<1>$ - korisnički parametar (vidi )
v Dostupni makroiw http://nagios.sourceforge.net/docs/2_0/macros.html
Srce seminar / Nadzorni sustav Nagios
KontaktiKontakti
v Opcijew contactw contactgroup
Srce seminar / Nadzorni sustav Nagios
Kontakti Kontakti –– contactcontact
v Objekt contact sadrži bitne podatke o kontakt osobi
w,u,c,r,f,n (n – bez slanja obavijesti)
service_notification_options
razdoblje slanja obavijesti za serviseservice_notification_period
d,u,r,f,n(n – bez slanja obavijesti)
host_notification_options
razdoblje slanja obavijesti za poslužitelje
host_notification_period
puno ime korisnika
kratko ime korisnika koristi se za autorizaciju!
Opis
alias
contact_name
Atribut
Srce seminar / Nadzorni sustav Nagios
Kontakti Kontakti –– contactcontact
naredba za slanje obavijesti o poslužiteljima
host_notification_commands
naredba za slanje obavijesti o servisima
service_notification_commands
email adresa kontakt osobeemail
alternativne adrese (moguće navesti proizvoljan broj)
address<N>
grupe kontakt osoba
Opis
contactgroups
Atribut
Srce seminar / Nadzorni sustav Nagios
Kontakti Kontakti –– contactcontact
v Primjer
define contact {
contact_name nagios
alias Veliki Brat
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,r
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email [email protected]
}
Srce seminar / Nadzorni sustav Nagios
Kontakti Kontakti –– contactgroupscontactgroups
v Definicija grupe kontakta
v Pripadnost grupi se definiraw u objektu contact (atribut contactgroups)w u objektu contactgroup (atribut members)
skup imena kontaktamembers
alternativno ime grupe kontakta
ime grupe kontakta
Opis
alias
contactgroup_name
Atribut
Srce seminar / Nadzorni sustav Nagios
Kontakti Kontakti –– contactgroupscontactgroups
v Primjer
define contactgroup {
contactgroup_name webserver-admins
alias Administratori web posluzitelja
}
Srce seminar / Nadzorni sustav Nagios
Vremenska razdobljaVremenska razdoblja
v Objekt timeperiod sadrži podatke o vremenskom razdoblju
- niz razdoblja u formatu:SS:MM-SS:MM[,SS:MM-SS:MM]…- dan koji se ne navede se ne uključuje u razdoblje
dan(sunday, monday, tuesday, wednesday, thursday, friday, saturday)
alternativno ime
kratko ime razdobljakoristi se u ostalim objektima
Opis
alias
timeperiod_name
Atribut
Srce seminar / Nadzorni sustav Nagios
Vremenska razdobljaVremenska razdoblja
v Primjer
define timeperiod {
timeperiod_name workhours
alias Radno vrijeme
monday 09:00-17:00
tuesday 09:00-17:00
wednesday 09:00-17:00
thursday 09:00-17:00
friday 09:00-17:00
}
Srce seminar / Nadzorni sustav Nagios
Eksplicitna ovisnost posluEksplicitna ovisnost poslužžiteljaitelja
v Objekt hostdependency
1 / 0 da li se nasljeñuju ovisnosti roditelja
inherits_parent
o,d,u,p,n(o-up, p-pending, n-nema uvjeta)u kojim uvjetima se ne izvode provjere
execution_failure_criteria
o,d,u,p,nu kojim uvjetima se ne šalju obavijesti
notification_failure_criteria
ime djeteta
ime roditelja
Opis
dependent_host_name
host_name
Atribut
Srce seminar / Nadzorni sustav Nagios
Eksplicitna ovisnost posluEksplicitna ovisnost poslužžiteljaitelja
v Primjer
define hostdependency {
host_name router.srce.hr
dependent_host_name www.srce.hr
execution_failure_criteria n
notification_failure_criteria d,u,p
}
Srce seminar / Nadzorni sustav Nagios
Eksplicitna ovisnost servisaEksplicitna ovisnost servisa
v Objekt servicedependency
ime servisa dijetedependent_service_description
ime servisa roditeljaservice_description
ime poslužitelja kojem je servis dijete pridružen
ime poslužitelja kojem je servis roditelj pridružen
Opis
dependent_host_name
host_name
Atribut
Srce seminar / Nadzorni sustav Nagios
Eksplicitna ovisnost servisaEksplicitna ovisnost servisa
o,w,u,c,p,n (o-ok, p-pending, n-nema uvjeta)u kojim uvjetima se ne izvode provjere
execution_failure_criteria
o,w,u,c,p,nu kojim uvjetima se ne šalju obavijesti
notification_failure_criteria
1 / 0 da li se nasljeñuju ovisnosti roditelja
inherits_parent
OpisAtribut
Srce seminar / Nadzorni sustav Nagios
Eksplicitna ovisnost servisaEksplicitna ovisnost servisa
v Primjer
define servicedependency {
host_name www.srce.hr
service_description Ping
dependent_host_name www.srce.hr
dependent_service_description Web posluzitelj
execution_failure_criteria c
notification_failure_criteria w,c,u
}
Srce seminar / Nadzorni sustav Nagios
Eskalacija obavijesti o Eskalacija obavijesti o posluposlužžiteljimaiteljima
v Objekt hostescalation
broj slanja obavijesti kod kojeg počinje eskalacija
first_notification
broj slanja obavijesti kod kojeg počinje eskalacija0 – bez ograničenja
last_notification
ime grupe poslužiteljakoristi se za definiranje eskalacije za grupu poslužitelja
hostgroup_name
kontakt osobe
ime poslužitelja
Opis
contact_groups
host_name
Atribut
Srce seminar / Nadzorni sustav Nagios
Eskalacija obavijesti o Eskalacija obavijesti o posluposlužžiteljimaiteljima
period izmeñu ponavljanja obavijestinotification_interval
razdoblje eskalacije obavijestiako se ne navede podrazumijeva se bilo koje vrijeme
escalation_period
d,u,ru kojim uvjetima se šalju obavijestiako se ne navede podrazumijevaju se sve vrijednosti
escalation_options
OpisAtribut
Srce seminar / Nadzorni sustav Nagios
Eskalacija obavijesti o Eskalacija obavijesti o posluposlužžiteljimaiteljima
v Primjer
define hostescalation {
host_name www.srce.hr
first_notification 3
last_notification 0
notification_interval 120
contact_groups boss
escalation_options d
}
Srce seminar / Nadzorni sustav Nagios
Eskalacija obavijesti o servisimaEskalacija obavijesti o servisima
v Objekt serviceescalation
broj slanja obavijesti kod kojeg počinje eskalacija
first_notification
broj slanja obavijesti kod kojeg počinje eskalacija0 – bez ograničenja
last_notification
ime servisaservice_description
kontakt osobe
ime poslužitelja kojem je servis pridružen
Opis
contact_groups
host_name
Atribut
Srce seminar / Nadzorni sustav Nagios
Eskalacija obavijesti o servisimaEskalacija obavijesti o servisima
period izmeñu ponavljanja obavijestinotification_interval
razdoblje eskalacije obavijestiako se ne navede podrazumijeva se bilo koje vrijeme
escalation_period
w,u,c,ru kojim uvjetima se šalju obavijestiako se ne navede podrazumijevaju se sve vrijednosti
escalation_options
OpisAtribut
Srce seminar / Nadzorni sustav Nagios
Eskalacija obavijesti o servisimaEskalacija obavijesti o servisima
v Primjer
define serviceescalation {
host_name www.srce.hr
service_description Web posluzitelj
first_notification 3
last_notification 0
notification_interval 120
contact_groups boss
escalation_options d
}
Srce seminar / Nadzorni sustav Nagios
Nagios senzoriNagios senzori
Srce seminar / Nadzorni sustav Nagios
Provjera posluProvjera poslužžitelja itelja –– PingPing
v check_pingv obavezni parametri
w H: ime/adresa poslužiteljaw w<rta>,<pl>%: vrijednosti parametara za stanje warningw c<rta>,<pl>%: vrijednosti parametara za stanje critical
v rta – prosječno vrijeme povratka (engl round trip time)(ms)
v pl – postotak gubitka paketa (engl. packet loss)v Primjer
check_ping -H $HOSTADDRESS$ \
-w 100.0,20% -c 500.0,60%
Srce seminar / Nadzorni sustav Nagios
Provjera posluProvjera poslužžitelja itelja –– TCP & TCP & UDPUDP
v check_tcpv check_udpv Provjera TCP odnosno UDP porta na poslužiteljuv Obavezni parametri
w H: ime/adresa poslužiteljaw p: port koji se želi provjeriti (check_tcp i check_udp)
v Primjer
check_tcp -H $HOSTADDRESS$ \
-p 80
Srce seminar / Nadzorni sustav Nagios
Provjera servisa SSHProvjera servisa SSH
v check_sshv Parametri
w H: ime/adresa poslužiteljaw p: port na kojem se nalazi servis SSHw r: očekivana verzija (uzrokuje stanje warning)
v Primjercheck_ssh -H $HOSTADDRESS$ \
-r "OpenSSH_3.8.1p1 Debian-8.sarge.6"
Srce seminar / Nadzorni sustav Nagios
Provjera servisa HTTPProvjera servisa HTTP
v check_httpw provjera dostupnost servisa w analiza dohvaćene stranice
v Parametriw H: ime/adresa poslužiteljaw p: port na kojem se nalazi servis HTTPw S: provjera putem SSL-aw u: URL web stranicew r: regularni izraz za pretraživanje stranice
v Primjercheck_http -H $HOSTADDRESS$ \
-r “Welcome to our web page"
Srce seminar / Nadzorni sustav Nagios
Provjera servisa LDAPProvjera servisa LDAP
v check_ldapv Parametri
w H: ime/adresa poslužiteljaw b: base DNw p: port na kojem se nalazi servis LDAP
v Primjer
check_ldap -H $HOSTADDRESS$ \
-b O=srce
Srce seminar / Nadzorni sustav Nagios
Provjera servisa Provjera servisa RadiusRadius
v check_radiusv Parametri
w H: ime/adresa poslužiteljaw u: korisničko imew p: lozinka
v Primjer
check_radius -H $HOSTADDRESS$
Srce seminar / Nadzorni sustav Nagios
Provjera lokalnih parametara Provjera lokalnih parametara
v check_loadw provjerava opterećenje
v Parametriw w: 1minload,5minload,15minload koji uzrokuje stanje Warningw c: 1minload,5minload,15minload koji uzrokuje stanje Critical
v Primjer check_load -w 5.0,4.0,3.0 –c 10.0,6.0,4.0
Srce seminar / Nadzorni sustav Nagios
Provjera lokalnih parametara Provjera lokalnih parametara
v check_procsw provjerava broj procesa s zadanim parametrimaw vrsta parametra se zadaje opcijom mw npr. broj procesa s velikom potrošnjom memorije
v Parametriw w: vrijednost koji uzrokuje stanje Warningw c: vrijednost koji uzrokuje stanje Criticalw r: stanja procesa (RSZT)w m: parametar (PROCS-broj procesa, VSZ-količina memorije,
RSS-količina stvarne memorije, CPU-postotak CPU-a, ELAPSED-trajanje u sekundama)
Srce seminar / Nadzorni sustav Nagios
Provjera lokalnih parametaraProvjera lokalnih parametara
v Primjer – ukupan broj Zombie procesa
v Primjer – korištenje memorije
check_load -w 10 –c 50 –s Z
check_load -w 300000 –c 500000 –m VSZ
Srce seminar / Nadzorni sustav Nagios
Provjera lokalnih parametara Provjera lokalnih parametara
v check_diskw provjerava zauzeće definirane particije
v Parametriw w: postotak slobodnog prostora koji uzrokuje stanje Warningw c: postotak slobodnog prostora koji uzrokuje stanje Criticalw p: put do particije koja se provjerava
v Primjer
check_disk -w 20% –c 10% -p /var
Srce seminar / Nadzorni sustav Nagios
Provjera lokalnih parametara Provjera lokalnih parametara
v check_usersw provjerava broj prijavljenih korisnika
v Parametriw w: broj korisnika koji uzrokuje stanje Warningw c: broj korisnika koji uzrokuje stanje Critical
v Primjer check_users -w 50 –c 75
Srce seminar / Nadzorni sustav Nagios
Ostali senzoriOstali senzori
v Mail poslužiteljiw pop, imap, smtp
v Baze podatakaw MySQL, PostgreSQL, Oracle, Microsoft SQL, RRD
v Ostali poslužiteljiw NNTP, Asterisk
v Ostalow mrežni printeriw poslužitelji za igrew SAPw SNMP
Srce seminar / Nadzorni sustav Nagios
Izrada vlastitih senzoraIzrada vlastitih senzora
v Moguće koristiti proizvoljan programski jezikv Svojstva senzora
w stanje – izlaz iz programaw opis stanja – standardni izlaz
v Stanjaw OK (0), Warning (1), Critical (2), Unknown (3)
v Pragoviw w: prag za stanje Warningw c: prag za stanje Critical
v Daljnje uputew http://nagiosplug.sourceforge.net/developer-guidelines.html
Srce seminar / Nadzorni sustav Nagios
Izrada vlastitih senzoraIzrada vlastitih senzora
v Jednostavan primjer – provjera aktivnosti procesa#!/bin/sh
procfile=$1
# provjeri da li postoji datoteka s ID
if [ ! -f $procfile ]; then
echo "Cannot find procfile. Status is unknown.“
exit 3
fi
proc=`/bin/cat $1`
Srce seminar / Nadzorni sustav Nagios
Izrada vlastitih senzoraIzrada vlastitih senzora
# provjeri da li je datoteka prazna
if [ -z "$proc" ]; then
echo "Procfile is empty. Status is unknown.“
exit 3
fi
# Provjeri da li je proces aktivan
res=`ps -p $proc -o comm | grep -v COMMAND`
if [ -z "$res" ]; then
echo "Process is not active.“
exit 2
fi
echo "Process $res is active.“
exit 0
Srce seminar / Nadzorni sustav Nagios
Izrada vlastitih senzoraIzrada vlastitih senzora
v Primjer uspješnog izvoñenja
v Primjer neuspješnog izvoñenja
$ check_proc /var/run/httpd.pid; echo $?
Process httpd is active.
0
$ echo 12345 > dummy
$ check_proc dummy; echo $?
Process is not active.
2
Srce seminar / Nadzorni sustav Nagios
Oporavak od problemaOporavak od problema
v Primjerw Ako (stanje = CRITICAL) & (predzadnja provjera)
• restart navedenog servisa
w Ako se oporavi hard stanje neće biti dosegnuto
#!/bin/sh
if [ “$1” == “CRITICAL” –a
“$2” == “SOFT” –a
$3 –eq 3 ]; then
sudo /etc/init.d/$4 stop
sudo /etc/init.d/$4 start
fi
Srce seminar / Nadzorni sustav Nagios
Oporavak od problemaOporavak od problema
v Definira se naredba s četiri makroaw $SERVICESTATE$ - stanje servisaw $SERVICESTATETYPE$ - tip stanja (soft ili hard)w $SERVICEATTEMPT$ - broj pokusajaw $ARG1$ - ime servisa se navodi kao parametar u objektu
service
define command {
command_name restart_service
command_line $USER2$/restart_service
$SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$
$ARG1$
}
Srce seminar / Nadzorni sustav Nagios
Oporavak od problemaOporavak od problema
v Primjer servisadefine service {
host_name web.srce.hr
service_description Web posluzitelj
check_command check_http
max_check_attempts 4
normal_check_interval 15
retry_check_interval 5
contact_groups webserver-admins
notification_interval 120
notification_options w,u,c,r
notification_period 24x7
servicegroups webservers
event_handler restart_service!httpd
}
Srce seminar / Nadzorni sustav Nagios
SavjetiSavjeti
Srce seminar / Nadzorni sustav Nagios
PredloPredloššcici
v Definiranje tipičnih vrijednosti atributa za više objekataw značajno pojednostavljuje konfiguracijuw npr. učestalost provjera & slanja obavijesti
v Predložak identičan normalnom objektu, obavezno se navode atributiw name – ime predloškaw register 0 – atribut govori Nagiosu da se ne radi o stvarnom
servisu
v U definiciji stvarnog objekta se navodi atributw use <ime_predloska>
Srce seminar / Nadzorni sustav Nagios
PredloPredloššcici
v Moguće je raditi nasljeñivanje predložakav Moguće je raditi prepisivanje vrijednosti atributav Primjer predloška
define service {
name generic-service
max_check_attempts 4
normal_check_interval 15
retry_check_interval 5
notification_interval 120
notification_options w,u,c,r
notification_period 24x7
register 0
}
Srce seminar / Nadzorni sustav Nagios
PredloPredloššcici
v Primjer servisadefine service {
use generic-service
host_name web.srce.hr
service_description Web posluzitelj
check_command check_http
contact_groups webserver-admins
}
define service {
use generic-service
host_name web.srce.hr
service_description SSH posluzitelj
check_command check_ssh
contact_groups server-admins
normal_check_interval 30
}
Srce seminar / Nadzorni sustav Nagios
Grupe objekataGrupe objekata
v Grupiranjem je moguće uvelike pojednostavniti konfiguracijuw npr. dodijeliti servis grupi poslužitelja
v Primjer
v Za daljnje savjete vidiw http://nagios.sourceforge.net/docs/2_0/templatetricks.html
define service {
hostgroup_name webservers
service_description Web posluzitelj
...
}
Srce seminar / Nadzorni sustav Nagios
UUččestalost provjeraestalost provjera
v Razdijeliti provjere naw provjere dostupnostiw funkcionalne provjere
v Dostupnost provjeravati češćew ne uzrokuje opterećenje servisaw npr. svakih 5 – 15 minuta
v Funkcionalne provjere izvoditi rjeñew uzrokuju opterećenje servisaw npr. svakih sat vremena
Srce seminar / Nadzorni sustav Nagios
Hijerarhija provjeraHijerarhija provjera
v Omogućava obavještavanje isključivo odgovornih osobaw ne uznemiravaju se svi administratori
v Povezati u hijerarhiju provjere dostupnosti i funkcionalnostiw uvjetovati samo slanje obavijestiw izvoditi provjere zbog ispravnosti statistika
Srce seminar / Nadzorni sustav Nagios
DemoDemo
Srce seminar / Nadzorni sustav Nagios
OkolinaOkolina
Srce seminar / Nadzorni sustav Nagios
Kontakt osobeKontakt osobe
v nagios w administrator sučelja
v sistemacw administrator poslužiteljaw zadužen za poslužitelje i osnovne servise (Broj procesa,
Opterecenje, SSH posluzitelj, Zauzece particije)
v mrezarw administrator usmjenikaw zadužen za usmjernik
v apachew administrator web poslužiteljaw zadužen za servise web poslužitelja (Web poslužitelj i Web Srca)
Srce seminar / Nadzorni sustav Nagios
OvisnostiOvisnosti
v Hijerarhija poslužiteljaw www.srce.hr je dijete od crnjak-router
v Eksplicitna ovisnost servisaw Web Srca ovisi o Web poslužitelju
Srce seminar / Nadzorni sustav Nagios
Srce seminar / Nadzorni sustav Nagios
Srce seminar / Nadzorni sustav Nagios
Srce seminar / Nadzorni sustav Nagios
Srce seminar / Nadzorni sustav Nagios
Srce seminar / Nadzorni sustav Nagios
Srce seminar / Nadzorni sustav Nagios
Srce seminar / Nadzorni sustav Nagios
Srce seminar / Nadzorni sustav Nagios
Srce seminar / Nadzorni sustav Nagios
NagiosNagios @ Srce@ Srce
v Više uspostavljenih sustava nadzora posebnih infrastrukturaw CRO-GRID Infrastrukturaw Nadzor EGEE sjedištaw Klaster Isabella
v U tijeku definiranje središnjeg nadzora poslužitelja pomoću Nagiosaw zamjena za MONw razmatra se raspodjeljivanje s pasivnim & aktivnim klijentimaw izrada senzora & paketa
Srce seminar / Nadzorni sustav Nagios
ReferenceReference
v Nagios official site http://www.nagios.org
v Nagios pluginshttp://sourceforge.net/projects/nagiosplug/
v Nagios Exchangehttp://www.nagiosexchange.org
v Seminar “Nadzor rada Linux/Unix poslužitelja”, Zdenko Škiljanhttp://sistemac.carnet.hr/fileadmin/sem/nadzor/nadzor.pdf
Srce seminar / Nadzorni sustav Nagios
Hvala na paHvala na pažžnji!nji!
Pitanja?Pitanja?