A Nagios működése

A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
a (Teljesítményigény: typo)
a (link az angol nyelvű szócikkre)
 
1. sor: 1. sor:
 
Írta: Tomka Gergely (gergely qqc tomka pötty hu)
 
Írta: Tomka Gergely (gergely qqc tomka pötty hu)
  +
  +
(Ugyanezen a wikin van egy részletesebb [[En:Nagios|angol nyelvű szócikk]] is a Nagiosról.)
   
 
== Igény ==
 
== Igény ==

A lap jelenlegi, 2010. december 1., 02:17-kori változata

Írta: Tomka Gergely (gergely qqc tomka pötty hu)

(Ugyanezen a wikin van egy részletesebb angol nyelvű szócikk is a Nagiosról.)

Tartalomjegyzék

[szerkesztés] 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

[szerkesztés] 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

[szerkesztés] 3 A Nagios előnyei

  • Szabad
  • Nagy tudású
  • Kiszámítható
  • Látványos
  • Többé-kevésbé takarékos

Nagios Hogyan Statusmap.png

[szerkesztés] 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

[szerkesztés] 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.

[szerkesztés] 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 

[szerkesztés] 7 A riasztás folyamata

Nagios-riasztas-folyamatabra.png

De:

  • Többféle állapot van
  • Az ellenőrzés bonyolultabb
  • Puha és kemény állapotok
  • De nem akarom telerajzolni a falat

[szerkesztés] 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

[szerkesztés] 9 Konfigurálás menete

  • Contactok, időtáblák, csoportok
  • Host template-k
  • Hostok
  • Service templatek
  • Service-ek
  • Csinosítás
  • Tesztelés

[szerkeszté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
}

[szerkesztés] 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
}

[szerkesztés] 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

[szerkesztés] 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
}

[szerkesztés] 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
};

[szerkesztés] 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

[szerkesztés] 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

[szerkesztés] 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

[szerkeszté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

Nagiosweb-tactical.png Nagios-network-status.png Nagios-service-state.png Nagios-service-trends.png Nagios-service-state-breakdowns.png Nagios-schedule-downtime.png

[szerkesztés] 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ó

[szerkesztés] 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

[szerkesztés] 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

[szerkesztés] 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?
Személyes eszközök