A Nagios működése
A Unix/Linux szerverek üzemeltetése wikiből
Írta: Tomka Gergely (gergely qqc tomka pötty hu)
(Ugyanezen a wikin van egy részletesebb angol nyelvű szócikk is a Nagiosról.)
1 Igény
- Sok szervert és szolgáltatást üzemeltetünk
- Ne az ügyfél vegye észre, ha nem megy a weboldala/levelezése/akármije
- Legyen szép statisztika arról, hogy mikor, mi nem ment, lehessen lobogtatni a szolgáltatónak
- Mutathassunk Szép Ábrákat a felső vezetőknek
2 Igények finomítása
- Létezést akarunk-e vizsgálni („bináris adat”)
- Nagios
- mon
- Finomabb árnyalatokat („analóg adat”)
- munin
- smokeping
- mrtg
- cricket
3 A Nagios előnyei
- Szabad
- Nagy tudású
- Kiszámítható
- Látványos
- Többé-kevésbé takarékos
4 A Nagios hátrányai
- Nyögvenyelős konfiguráció, bár ez a feladatból is következik
- Nehezen bővíthető, összetett belső struktúra
- Fejlettebb képességek sztochasztikus viselkedése
- Tud büntetni, ha nem kezeljük kellő tisztelettel (sms floodok)
- Kicsit zavaros fogalmak
5 Pár fogalom
- Host: szolgáltatások csoportja. Hostot nem ellenőriz, és nem tart számon, a host egy statisztikai kategória.
- Service: dolog, jól definiált állapotokkal. Ezeket monitorozzuk.
- Contact: objektum, telefonszámmal, munkaidővel, e-mail címmel, praktikusan kolléga.
- Contactgroup: egy ügyben érdekelt contactok csoportja. Értesítéseket ilyen csoportoknak küldünk.
- Host és service group: statisztikai kategóriák
- Parancsok: ellenőrző, üzenő, eseménykezelő, hátmasszírozó, stb. Sokféle van.
- Függőségek: ha nem megy a levelezés, ne küldjünk e-mailt.
6 Ellenőrzés
- Többféle időzítés: okos, buta
- Az okos elosztja egyenletesen a feladatokat, egyenletes terhelést okoz
- A buta könnyen átlátható, de nagy csúcsterheléseket okoz, ami nem jó
- Az ellenőrzések (elvben) nem tartják föl egymást, úgyhogy ha valami miatt lassú, akkor sok processz összegyűlhet.
Időzítésre példa:
bambi FTP 14:14:09 14:16:09 tomka.hu PING 14:14:10 14:16:10 bambi IMAP 14:14:18 14:16:18 bambi POP 14:14:37 14:16:37 sql.pba.hu HTTP 14:14:43 14:16:43 betatrans PING 14:15:13 14:17:13 bambi HTTP 14:15:41 14:17:41 m.pba.hu HTTP 14:15:42 14:17:42 m.pba.hu PING 14:15:46 14:17:46 bambi PING 14:15:47 14:17:47 bambigw PING 14:15:48 14:17:48 sql.pba.hu PING 14:15:53 14:17:53
7 A riasztás folyamata
De:
- Többféle állapot van
- Az ellenőrzés bonyolultabb
- Puha és kemény állapotok
- De nem akarom telerajzolni a falat
8 Állapotok
- OK/UP – örülünk
- WARNING – valamilyen határt átlépett
- UNKNOWN – például nem elérhető
- DOWN/CRITICAL – nem örülünk
- SOFT – még zajlik az ellenőrzés
- HARD – ezek már az élet szikár tényei
9 Konfigurálás menete
- Contactok, időtáblák, csoportok
- Host template-k
- Hostok
- Service templatek
- Service-ek
- Csinosítás
- Tesztelés
9.1 Példacontact, úgy is, mint állampolgár
define contact{
contact_name tudor
alias Tomka Gergely
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email az-én@email.címem
pager +36telefonszám
}
9.2 Időtáblák
define timeperiod{
timeperiod_name workhours
alias "Normal" Working Hours
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
}
10 Template
- Objektum template pont olyan, mint egy objektum, csak register 0.
- Két megközelítés:
- egy definíció, sok objektum, kézzel kényelmes, nehezen átlátható
- template+sok definíció, egyszerűen gépesíthető, én ezt használom
- Külön fájlok, ne rongáljuk a hasznos példákat
10.1 Host template
define host{
name altalanos
notifications_enabled 1
event_handler_enabled 0
flap_detection_enabled 0
process_perf_data 1
retain_status_information 0
retain_nonstatus_information 1
check_command checkhostalive
max_check_attempts 20
notification_interval 0
notification_period 24x7
notification_options d,u,r
register 0
}
Használata:
define host{
host_name gép.hu
alias gép.hu
address 1.2.3.4
use altalanos
register 1
}
define host{
host_name másikgép
alias valami.domain.hu
address 2.3.4.5
use altalanos
parents bambigw
register 1
}
10.2 Service template
define service{
name altalanos
service_description PING
check_command check_ping!100.0,20%!500.0,60%
contact_groups sajat
check_period 24x7
active_checks_enabled 1
passive_checks_enabled 0
parallelize_check 1
obsess_over_service 1
check_freshness 0
notifications_enabled 1
event_handler_enabled 0
flap_detection_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
is_volatile 0
max_check_attempts 3
normal_check_interval 2
retry_check_interval 1
notification_interval 0
notification_period 24x7
notification_options c,r,w
register 0
}
Használata:
define service{
host_name gép.hu
use altalanos
register 1
};
define service{
host_name másikgép
use altalanos
register 1
};
define service{
host_name másikgép
use altalanos
register 1
service_description HTTP
check_command check_http
};
11 Csinosítás
- Ikonok, pozíciók megválasztása
- Üzenetek fordítása, csinosítása
- Háttérképek
- Függőségek
- Eszkalációs szintek
- Különleges értesítések
12 Egyéb nagyszerűségek
- Flap detection: eső-kelő szolgáltatás esetére
- Események kezelése: külső parancsok végrehajtása, ha valami megdöglik, például újraindíthatja (megpróbálhatja) – AI veszély
- Host adatainak (diszktelítettség, cpu, memória) lekérdezése, beépített ügynökkel – a munin jobb erre a célra
13 Ki őrzi az őrzőt?
- Nincsen hivatalos megoldás HA/failover igényekre
- Lehet eventekkel és hasonlókkal bűvészkedni
- El kell fogadni, hogy a megbízhatósággal együtt járhat a kettőslátás
14 Webes felület
- Roppant csinos, professzionális külsejű és látványos
- Nem igazán többfelhasználós, de azért funkciók szerint szét lehet választani usereket:
- néz
- teszvesz
- leállít
15 Teljesítményigény
- Sávszélesség nagyban függ a pontos helyzettől, pl. check_http
- CPU-igény csekély, több tucat host és százas nagyságrendű szolgáltatás esetén sem elsöprő
- Dokumentáció szerint azért ezer gép figyelése már izzasztó
16 Verejtékigény
- A beállítás szöszölős
- A munkában nagy segítség
- A főnökséget elbűvöli
- It Picks Up Chicks
17 További információ
- www.nagios.org - kicsit rendezetlen és kócos, de türelemmel kezelhető
- magyar HOWTO - alapokról egy egyszerű install felépítése
- Barátok, rokonok, üzletfelek, levelezőlisták és csevegőcsatornák
18 Potenciális ZH-kérdések
- Mire és miért kell odafigyelni sok szolgáltatás monitorozása esetén? (Pl. ötpercenként meg akarunk győződni arról, hogy megy mind a 3000 webszerverünk.)
- Mit jelent a Nagios terminológiájában a "flapping"?
- Mi a Nagios terminológiájában a "puha" ill. a "kemény" állapot?







