You are on page 1of 76

I HC QUC GIA H NI

TRNG I HC CNG NGH

Phm Hng Khi

NGHIN CU TRIN KHAI H THNG GIM


ST QUN TR MNG (TRN NN TNG H
THNG M NGUN M NAGIOS)

KHO LUN TT NGHIP I HC H CHNH QUY


Ngnh: Cng ngh thng tin

H NI - 2009

I HC QUC GIA H NI
TRNG I HC CNG NGH

Phm Hng Khi

NGHIN CU TRIN KHAI H THNG GIM


ST QUN TR MNG (TRN NN TNG H
THNG M NGUN M NAGIOS)

KHO LUN TT NGHIP I HC H CHNH QUY


Ngnh: Cng ngh thng tin
Cn b hng dn: ThS. Nguyn Nam Hi
Cn b ng hng dn: Th.S Phng Ch Dng

H NI - 2009

LI CM N
Sau 3 thng lm kho lun tt nghip, c s hng dn, ch bo tn tnh ca
thy gio Nguyn Nam Hi v s c gng n lc ca bn thn, em hon thnh kho
lun tt nghip vi ti NGHIN CU TRIN KHAI H THNG GIM ST
QUN TR MNG (TRN NN TNG H THNG M NGUN M NAGIOS);
Em xin chn thnh cm n Thy v cc thy c gio khoa Cng ngh thng tin
trng i Hc Cng Ngh - i Hc Quc Gia H Ni o to, truyn t cho em
nhng kin thc v kinh nghim trong lnh vc Cng ngh thng tin ni ring v
nhng kin thc khc ni chung em c c nhng kin thc tng hp trc khi ra
trng;
Xin cm n bn b gip ti liu v trao i kinh nghim hon thnh
kho lun tt nghip.
Xin cm n!
H Ni, Thng 5-2009
Ngi thc hin
Phm Hng Khi

TM TT
Hin nay khi nim qun tr mng khng cn xa l g trong ngnh cng ngh
thng tin. N tr thnh mt trong nhng lnh vc nghin cu chnh v mng my
tnh v l mt cng vic quan trng khng th thiu trong cc h thng my tnh ca
cc t chc, doanh nghip, trng hc Theo hng nghin cu lnh vc trn, kha
lun ny tp trung vo vic tm hiu v trin khai mt h thng gim st qun tr mng
da trn nn tng h thng m ngun m. l Nagios. Nagios l h thng gim st
mng c chi ph u t thp. Tuy nhin n c kh nng rt mnh m trong vic gim
st hot ng ca cc thit b trn mng. Bi vy Nagios rt c tin tng v s dng
rng ri trn ton cu.

MC LC
DANH MC CC T, THUT NG VIT TT
Vit tt/thut
ng
Host

Flap
plugin

Tn y

ngha
Dng ch cc thit b mng, cc my
u cui c gim st(tt c cc thit b
tham gia vo mng u c gi chung l
host)
Tnh trng thay i trng thi lin tc
L cc ng dng h tr cho hot ng
ca mt phn mm.

CHNG 1. GII THIU CHUNG


1.1. Gii thiu
Network mornitoring hay ting vit hiu l gim st, theo di mng l mt trong
nhng vn hin nay tr ln rt quan trng trong vic qun tr cc h thng mng.
N hn ch ti a vic mng b gin on trong qu trnh hot ng. N m bo vic
khai thc ti nguyn c hiu qu, m bo an ton, tin cy cho nhng dch v cung
cp Hin nay c rt nhiu cng c gim st mng h tr cho cng vic ca ngi
qun tr. Chc nng ca chng l gim st thng thi hot ng ca cc thit b mng,
cc dch v mng, v cc my u cui tham gia vo mng v thng bo cho ngi
qun tr khi c s c hoc kh nng s sy ra s c. C c nhng h thng thng mi
nh HPopen View Hay ngun m nh openNMS, Cacti, Nagios Mi h thng li
c nhng u nhc im ring. Tuy nhin kh nng ca chng li khng hn nhau
nhiu lm. Bi kha lun ny tp trung vo vic nghin cu mt h thng gim st da
trn Nagios, mt sn phm ngun m c s dng rng ri. T khi ra i 2002 n
nay Nagios lin tc pht trin v rt c quan tm. Cng ng quan tm v s
dng Nagios cho n nay theo thng k ca http://nagios.org l vo khong 250.000
ngi. T phin bn 1.0 u tin, n nay Nagios pht trin nn phin bn 3.x v
vn lin tc cho ra nhng phin bn mi vi tnh nng mnh m hn. c bit Nagios
c kh nng phn tn. V vy n c th gim st cc mng khng l, t c 100.000
node.

1.2. Mc ch ca kha lun


Kha lun s tp trung vo tm hiu kh nng ca h thng Nagios. N p ng
c nhng g cho cng vic qun tr mng. Cch thc n hot ng nh th no v
trin khai th nghim h thng trn mng ca trng i hc cng ngh.

1.3. Kt qu t c
Sau mt thi gian nghin cu, tm hiu, ti nm bt c cc chc nng v
c im ca Nagios, tm hiu c cch thc t chc v hot ng ca h thng. Ti
trin khai th nghim h thng trn mng ca trng i hc Cng Ngh v
bc u c nhng nhn xt v nh gi v hot ng ca h thng.

1.4. B cc kha lun


Chng 1: Gii thiu chung v kha lun, ti, mc ch thc hin v kt qu
t c.

Chng 2: Gii thiu tng quan v Nagios, a ra ci nhn khi qut v h thng
Nagios.
Chng 3: Gii thiu c bn v c im v cch thc cu hnh trong Nagios.
Chng 4: Chi tit cc chc nng ca h thng Nagios.
Chng 5: Cc khi nim, vn lin quan n h thng Nagios.
Chng 6: im li kt qu t c sau khi nghin cu, ci t v trin khai h
thng Nagios

CHNG 2. TNG QUAN V NAGIOS


2.1. Chc nng ca Nagios
Gim st trng thi hot ng ca cc dch v mng (SMTP, POP3, IMAP,
HTTP, ICMP, FTP, SSH, DHCP, LDAP, DNS, name server, web proxy, TCP port,
UDP port, c s d liu: mysql, portgreSQL, oracle)
Gim st cc ti nguyn cc my phc v v cc thit b u cui (chy h iu
hnh Unix/Linux, Windows, Novell netware): tnh trng s dng CPU, ngi dng
ang log on, tnh trng s dng a cng, tnh trng s dng b nh trong v swap,
s tin trnh ang chy, cc tp log h thng.
Gim st cc thng s an ton thit b phn cng trn host nh: nhit CPU,
tc qut, pin, gi h thng
Gim st cc thit b mng c IP nh router, switch v my in. Vi Router,
Switch, Nagios c th theo di c tnh trng hot ng, trng thi bt tt ca tng
cng, lu lng bng thng qua mi cng, thi gian hot ng lin tc (Uptime) ca
thit b. Vi my in, Nagios c th nhn bit c nhiu trng thi, tnh hung sy ra
nh kt giy, ht mc
Cnh bo cho ngi qun tr bng nhiu hnh thc nh email, tin nhn tc thi
(IM), m thanh nu nh c thit b, dch v gp trc trc
Tng hp, lu gi v bo co nh k v tnh trng hot ng ca mng.

2.2 c im ca Nagios
Cc hot ng kim tra c thc hin bi cc plugin cho my phc v Nagios
v cc m un client trn cc thit b ca ngi dng cui, Nagios ch nh k nhn
cc thng tin t cc plugin v x l nhng thng tin (thng bo cho ngi qun l,
ghi vo tp log, hin thi ln giao din web).
Thit k plugin n gin cho php ngi dng c th t nh ngha v pht trin
cc plugin kim tra cc dch v theo nhu cu ring bng cc cng c lp trnh nh shell
scripts, C/C++, Perl, Ruby, Python, PHP, C#.
C kh nng kim tra song song trng thi hot ng ca cc dch v( ng thi
kim tra nhiu dch v).

H tr khai bo kin trc mng. Nagios khng c kh nng nht dng c


topo ca mng. ton b cc thit b, dch v mun c gim st u phi khai bo v
nh ngha trong cu hnh.
Gi thng bo n ngi/nhm ngi c ch nh sn khi dch v/host c
gim st gp vn v khi chng khi phc hot ng bnh thng.(qua e-mail, pager,
SMS, IM)
Kh nng nh ngha b x l s kin thc thi ngay khi c s kin sy ra vi
host/ dch v.
Giao din web cho php xem trng thi ca mng, thng bo, history, tp log.

2.3. Kin trc v t chc hot ng


2.3.1 Kin trc ca Nagios
H thng Nagios gm hai phn chnh:
1.

Li Nagios

2.

Plugin

Phn li nagios c chc nng qun l cc host/dch v c gim st, thu thp
cc kt qu kim tra (check) host/dch v t cc plugin gi v, biu din trn giao din
chng trnh, lu tr v thng bo cho ngi qun tr. Ngoi ra n cn tng hp v
a ra cc bo co v tnh hnh hot ng chung hoc ca tng host/dch v trong mt
khong thi gian no .
Plugin l b phn trc tip thc hin kim tra host/dch v. Mi mt loi dch v
u c mt plugin ring bit c vit phc v ring cho cng vic kim tra dch v
. Plugin l cc script (Perl, C ) hay cc tp c bin dch (executable). Khi
cn thc hin kim tra mt host/dch v no Nagios ch vic gi plugin tng ng
v nht kt qu kim tra t chng. Vi thit k nh th ny, h thng Nagios rt d
dng c m rng v pht trin. Bt k mt thit b hay dch v no cng c th c
gim st nu nh vit c plugin cho n. Hnh bn di cho ta thy s tng quan
gia cc thnh phn trong Nagios.

Hnh 2.1 S t chc ca Nagios

2.3.2. Cch thc t chc hot ng


Nagios c 5 cch thc thi cc hnh ng kim tra:
2.3.2.1. Kim tra dch v trc tip.
i vi cc dch v mng c giao thc giao tip qua mng nh smtp, http, ftp
Nagios c th tin hnh kim tra trc tip mt dch v xem n ang hot ng hay
khng bng cch gi truy vn kt ni dch v n server dch v v i kt qu tr v.
Cc plugin phc v kim tra ny c t ngay trn server Nagios.
2.3.2.2. Chy cc plugin trn my xa bng secure shell
Nagios server khng c cch no c th truy cp trc tip client theo di
nhng thng tin nh tnh trng s dng a, swap, tin trnh lm c vic
ny th trn my c gim st phi ci plugin cc b. Nagios s iu khin cc plugin
cc b trn client qua secure shell ssh bng plugin check_by_ssh. Phng php ny
yu cu mt ti khon truy cp host c gim st nhng n c th thc thi c tt c
cc plugin c ci trn host .
2.3.2.3. B thc thi plugin t xa (NRPE - Nagios Remote Plugin Executor)
NRPE l mt addon i km vi Nagios. N tr gip vic thc thi cc plugin c
ci t trn my/thit b c gim st. NRPE c ci trn cc host c gim st.
Khi nhn c truy vn t Nagios server th n gi cc plugin cc b ph hp trn
host ny, thc hin kim tra v tr v kt qu cho Nagios server. Phng php ny
khng i hi ti khon truy cp host c gim st nh s dng ssh. Tuy nhin cng

nh ssh cc plugin phc v gim st phi c ci t trn host c gim st. NRPE
c th thc thi c tt c cc loi plugin gim st. Nagios c th iu khin my ci
NRPE kim tra cc thng s phn cng, cc ti nguyn, tnh trng hot ng ca my
hoc s dng NRPE thc thi cc plugin yu cu truy vn dch v mng n mt
my th 3 kim tra hot ng ca cc dch v mng nh http, ftp, mail
2.3.2.4 Gim st qua SNMP
Ct li ca giao thc SNMP (SimpleNetwork Management Protocol )l tp hp
n gin cc hot ng gip nh qun tr mng c th qun l, thay i trng thi thit
b. Hin nay rt nhiu thit b mng h tr giao thc SNMP nh Switch, router, my
in, firewall ... Nagios cng c kh nng s dng giao thc SNMP theo di trng thi
ca cc client, cc thit b mng c h tr SNMP. Qua SNMP, Nagios c c thng
tin v tnh trng hin thi ca thit b. V d nh vi SNMP, Nagios c th bit c
cc cng ca Switch, router c m hay khng, thi gian Uptime (chy lin tc) l bao
nhiu
2.3.2.5. NSCA (Nagios Service Check Acceptor)
Nagios c coi l mt phn mm rt mnh v n d dng c m rng v kt
hp vi cc phn mm khc. N c th tng hp thng tin t cc phn mm kim tra
ca hng th ba hoc cc tin trnh Nagios khc v trng thi ca host/dch v. Nh
th Nagios khng cn phi lp lch v chy cc hnh ng kim tra host/dch v m
cc ng dng khc s thc hin iu ny v bo co thng tin v cho n. V cc ng
dng kim tra c th tn dng c kh nng rt mnh ca Nagios l thng bo v
tng hp bo co. Nagios s dng cng c NSCA gi cc kt qu kim tra t ng
dng ca bn v server Nagios. Cng c ny gip cho thng tin gi trn mng c an
ton hn v n c m ha v xc thc.

Hnh 2.2 Cc cch thc thc hin kim tra.


Hnh trn cho ta ci nhn tng quan v cc cch thc kim tra dch vi nagios. C
5 client c gim st bng 5 cch thc khc nhau:

client 1: Nagios s dng plugin check_xyz c ci t ngay trn server


Nagios gi truy vn kim tra dch v trn client( http, ftp, dns, smtp)

client 2, 3: Nagios s dng cc plugin trung gian chy plugin


check_xyz gim st c ci t trc tip trn client. (bi v c nhng dch v khng
c h tr giao thc trao i qua mng, v d khi bn mun kim tra dung lng a
cng cn trng trn client)

client 4: Kim tra dch v qua giao thc snmp, nagios server s s dng
plugin check_snmp kim tra cc dch v trn client c h tr giao thc SNMP. Rt
nhiu thit b mng nh router, switch, my in c h tr giao thc SNMP.

Client 5: y l phng php kim tra b ng. Nagios khng ch ng


kim tra dch v m l client ch ng gi kt qu kim tra dch v v cho Nagios
thng qua plugin NSCA. Phng php ny c p dng nhiu trong gim st phn
tn. Vi cc mng c quy m ln, ngi ta c th dng nhiu server Nagios gim
st tng phn ca mng. Trong c mt server Nagios trung tm thc hin tng hp
kt qu t cc server Nagios con thng qua plugin NSCA.

CHNG 3. TNG QUAN CU HNH


3.1. Tng quan cu hnh
3.1.1. Cc tp cu hnh chng trnh
Th mc /usr/local/nagios/etc/
- Tp cu hnh chnh nagios.cfg. Thit t nhng ty chn chung nht ca
Nagios, tc ng n cch thc hot ng ca Nagios. Trong nagios.cfg bn c th
khai bo ng dn cc tp cu hnh cn li, tp log, tp m . hoc bt tt cc ty
chn cu hnh nh cho php thng bo, s dng lnh ngoi tr, kim tra b ng, cch
thc log, cp nht
- Tp cu hnh ti nguyn resource.cfg. Cc tp ti nguyn dng lu tr cc
nhn(macro) c nh ngha bi ngi dng, v lu tr nhng thng tin nhy
cm( nh mt khu), n vi CGIs. Bn c th ch nh mt hay nhiu ty chn tp
ti nguyn bng cch s dng ch th resource_file trong tp cu hnh chnh.
- Tp cu hnh CGI cgi.cfg. Tp cu hnh CGI cha tp cc ch th nh hng
n hot ng ca CGIs v cch thc hin th thng tin trn giao din web.

3.1.2. Cc tp cu hnh i tng


Th mc /usr/local/nagios/etc/objects
- Ni lu tr cc tp cu hnh i tng c gim st v qun l trong nagios.
Cc tp nh ngha i tng c s dng nh ngha host, dch v, lin
h(contacts), nhm lin h(contactgroups), lnh y l ni nh ngha tt c mi th
m bn mun gim st v cch m bn gim st chng. Bn c th ch nh mt hay
nhiu tp nh ngha i tng bng s dng cc ch th cfg_file v cfg_dir trong tp
cu hnh chnh. Cc tp cu hnh sn c l:

Localhost.cfg

//nh ngha cc my linux

Contact.cfg

//n ngi dng

Printer.cfg

//n cc my in

Switch.cfg

//n switch

Window.cfg

//n my window

Command.cfg

//n cc lnh

Template.cfg

//mu n c sn

Timeperiods.cfg

//n cc chu ki thi gian

Chi tit cc ty chn cu hnh tham kho phn ph lc.

3.2. Cch thc nh ngha i tng trong cc tp cu hnh


i tng
Cc i tng (bao gm host, dch v, ngi lin h, lnh, nhm, chu k thi
gian) c th c nh ngha trong bt k tp no c ui .cfg v khai bo ng dn
trong tp cu hnh chnh qua ty chn cfg_file. Tp template.cfg c sn nhng nh
ngha i tng chun, cc nh ngha i tng mi c th k tha khun mu ca
nh ngha chun v c th thay i i mi s ty chn cho ph hp vi tng yu cu
s dng.

3.2.1. nh ngha host


Host l mt trong nhng i tng c bn nht c gim st. c im ca host
l:
-

Host thng l cc thit b vt l trn mng nh server, workstation,


router,switch, printer

Host c a ch xc nh(IP hoc MAC).

Host thng c t nht mt dch v lin quan n n.

Mt host c th c mi quan h cha/con, ph thuc vi host khc.

Khi nh ngha i tng host bn c th k tha mu nh ngha host c trong


tp template.cfg. Mu nh ngha ny c trong phn ph lc cui ti liu. Tuy nhin
vi mi host c nh ngha mi th c 3 ty chn bt buc phi khai bo cho ph
hp. l tn host, b danh v a ch IP ca host.
define host{
sn

use

linux-server //k tha nh ngha mu c

host_name

fedora10

alias

f10

address

192.168.1.254

3.2.2. nh ngha dch v


nh ngha dch v dng khai bo dch v c gim st chy trn host. Dch
v y c th hiu l cc dch v mng thc s nh l POP, SMTP, HTTP hay l
ch l mt s s liu ca host nh s lng ngi dng, a cn trng Cc ty
chn di y l bt buc khi nh ngha mt dch v mi. Cc ty chn cn li c th
tham kho phn ph lc.
define service{
host_name

linux-server

service_description

check-disk-sda1

check_command

check-disk!/dev/sda1

max_check_attempts 5
check_interval

retry_interval

check_period

24x7

notification_interval

30

notification_period

24x7

notification_options

w,c,r

contact_groups

linux-admins

}
Tuy nhin cng ging nh nh ngha host, nu s dng k tha t nh ngha
mu th khi nh ngha mt host mi ch cn khai bo 4 ty chn:
define service{
use

generic-service

host_name

linux-server

service_description

check-disk-sda1

check_command

check-disk!/dev/sda1

3.2.3. nh ngha Lnh


Tt c cc hnh ng ca Nagios nh kim tra host/dch v, thng bo, x l s
kin u c thc hin bng cch gi lnh. Tt c cc lnh trong Nagios u c
nh ngha trong tp cu hnh commands.cfg.
Khun dng ca mt lnh c nh ngha:

10

define command{
command_name
command_line

Tn lnh

Ngi dng/script! Danh sch tham s

}
V d:
define command{
command_name
command_line

check_local_disk

$USER1$/check_disk! w $ARG1$ -c

$ARG2$ -p $ARG3$
}
Mt lnh c nh ngha gm hai thnh phn tn lnh v ni dung lnh. Trong
$USER1$ l nhn ngi dng c nh ngha trong tp ti nguyn resource.cfg.
$ARG1$, $ARG2$, $ARG3$ l cc nhn tham s vo ca lnh. V check_disk trong
v d trn c th thay bng mt script, file t chy bt k Nh v d trn, khi cn
kim tra a cng ca mt host A, Nagiso s gi lnh check_local_disk vi cc tham
s vo ca host A. Lnh ny s thc thi script check_disk vi cc tham s .

3.2.4. Cc nh ngha khc


Ngoi ra cn cc nh ngha khc nh nhm host, nhm dch v, nhm lin lc,
chu k thi gian c gii thiu trong phn ph lc ca ti liu

11

CHNG 4. CC DCH V GIM ST


4.1. Gim st cc thit b mng
Nagios gim st cc thit b qua giao thc SNMP. V vy my gim st(Nagios)
phi ci t net-snmp v net-snmp-utils vi redhat/fedora hoc libsnmp-base, snmp,
snmpd,libsnmp15 vi debian/ubuntu trc khi bin dch v ci t nagios plugin. Cc
thit b c gim st phi c IP, h tr snmp, v snmp trng thi bt.

4.1.1. My in
4.1.1.1. Tng quan
Nagios s dng plugin check_hpjd cho vic gim st trng thi ca my in.
Plugin check_hpjd s dng giao thc SNMP xc nh trng thi ca my in.

Hnh 4.1 Gim st my in


Check_hpjd c kh nng pht hin, cnh bo, ghi li cc s c ca my in nh:
-

kt ni n my in(ping n my in)

Kt giy

Ht giy

My in tt

Yu cu xen vo

Mc t

Thiu b nh

Khay ra giy b y

4.1.1.2. Cu hnh gim st my in


Mc nh lnh check_hpjd c nh ngha trong tp commands.cfg. N
cho php bn gi plugin check_hpjd plugin gim st my in trong mng. th na l

12

c mt mu nh ngha my in(c gi l generic-printer) c to trong tp


templates.cfg. N cho php bn thm mt nh ngha my in mi kh n gin. Khi
nh ngha my in c gim st mi bn ch cn khai bo s dng mu ny v ty
chnh mt s ty chn cho ph hp.
Trong ln u tin cu hnh Nagios gim st my in bn cn phi sa tp cu
hnh Nagios. V sau khng phi lm li vic ny na.
vi /usr/local/nagios/etc/nagios.cfg
Sa du (#) u dng nh bn di trong tp cu hnh:
#cfg_file=/usr/local/nagios/etc/objects/printer.cfg
Lu tp cu hnh v thot. y l khai bo s dng tp cu hnh cho my in.
Tp cu hnh /usr/local/nagios/etc/objects/printer.cfg s l ni bn thm nhng
nh ngha host v dch v mi cho my in. Tp cu hnh ny cha mt vi v d v
nh ngha host, hostgroup, v dch v. Bn c th sa nhng mu ny gim st mt
my in trong ln u tin cu hnh. Bn cn phi nh ngha mi i tng my in khi
gim st mt my in mi. M tp printer.cfg.
vi /usr/local/nagios/etc/objects/printer.cfg
Thm mt nh ngha host mi cho my in trong mng m bn s gim st. Thay
i trng host_name, alias, v address theo cc gi tr ca my in.
define host{
use
mc nh ca mu
host_name
alias

in

address

my in

hostgroups

in

generic-printer
hplj2605dn
HP LaserJet 2605dn
192.168.1.30
allhosts

; Tha k gi tr
; Tn ca my in
; Tn khc ca my
; a ch IP ca
; Host groups ca my

}
By gi bn c th b xung nh ngha cc dch v c gim st. Nu l ln u
tin nh ngha th bn c th sa lun nh ngha dch v mu trong tp printer.cfg.
Thm nh ngha dch v bn di kim tra trng thi ca my in. 10 pht mt
ln check_hpjd plugin s kim tra trng thi ca my in.
define service{
use
host_name

generic-service
hplj2605dn

c gim st

13

; K tha t mu
; Tn ca my in

service_description

Printer Status

; M t dch

v
check_command
s dng gim st

check_hpjd!-C public
dch v

normal_check_interval

10 pht

10

; Lnh

; kim tra li dch v sau

}
Thm nh ngha dch v bn di ping n my in 10 pht mt ln. N phc
v cho vic gim st RTA, s mt gi tin, v kt ni ca mng.
define service{
use

generic-service

host_name

hplj2605dn

service_description

PING

check_command

check_ping!3000.0,80%!

5000.0,100%
normal_check_interval 10
retry_check_interval

}
Lu tp li v kim chng li cu hnh v khi ng li Nagios.

4.1.2. Switch, router


4.1.2.1. Tng quan
Nagios s dng 2 plugin gim st cc thit b ny l check_snmp,
check_mrtgtraf. Nu mun s dng check_mrtgtraf gim st bng thng th my
Nagios phi ci MRTG(chng trnh gim st lu lng mng). Hnh bn di m t
cch thc thc hin vic gim st Router/switch.

Hnh 4.2: Gim st Router/Switch

14

Kh nng gim st ca Nagios:

Kt ni n thit b(ping thit b).

Trng thi up/down ca cc cng.

S dng bng thng,lu lng trn cc cng.

T l mt gi tin, trung bnh tr trn vng(RTA)

4.1.2.2. Cu hnh gim st router/switch


Hai lnh check_snmp v check_local_mrtgtraf c nh ngha trong tp
commands.cfg. Chng cho php bn gi plugin check_snmp v check_mrtgtraf plugin
gim st router/switch.
Mu nh ngha Router/switch (c gi l generic-switch) c to trong tp
templates.cfg. N cho php bn thm cc nh ngha router/switch host rt nhanh
chng. Cc tp cu hnh trn c t trong th mc /usr/local/nagios/etc/objects/ .
Bn c th s dng cc nh ngha sn c ny hoc thm cc inh ngha cho ph hp
vi nhu cu ca mnh.
Trong ln u tin cu hnh Nagios gim st switch bn cn phi sa tp cu hnh
Nagios. V sau khng phi lm li vic ny na
vi /usr/local/nagios/etc/nagios.cfg
Sa du (#) u dng nh bn di trong tp cu hnh:
#cfg_file=/usr/local/nagios/etc/objects/switch.cfg
Lu li v thot.
Tp tin /usr/local/nagios/etc/objects/switch.cfg l ni nh ngha cho host v
dch v router and switch. Trong ny c sn mt s nh ngha v host, hostgroup, v
dch v mu. Trong ln u tin nh ngha router/switch bn c th sa lun cc nh
ngha mu ny tt hn l to mt nh ngha mi.
vi /usr/local/nagios/etc/objects/switch.cfg
To mt nh ngha host n gin nh bn di.
define host{
use

generic-switch

; k tha gi tr mc

nh t mu
host_name

linksys-srw224p

; tn ca

switch
alias

Linksys SRW224P Switch ; b danh ca

switch
address

192.168.1.253

switch

15

; a ch IP ca

hostgroups
group ca switch

allhosts,switches

; Host

4.1.2.3. Gim st T l mt gi tin, trung bnh tr trn vng


V d thm nh ngha dch v di y gim st vic mt gi tin v
RTA(round trip average) gia Nagios host v switch 5 pht mt ln trong iu kin
bnh thng.
define service{
use

template

generic-service ; Inherit values from a

host_name

linksys-srw224p

check_command

check_ping!200.0,20%!

600.0,60% ;
}
Dch v ny tr v:
- CRITICAL, nu round trip average (RTA) ln hn 600 milliseconds hoc s
gi b mt trn 60%,
- WARNING, cnh bo nu RTA ln hn 200ms hoc gi tin b mt ln hn
20%.
- OK, Ngc li chy bnh thng nu RTA nh hn 200ms v s gi b mt nh
hn 20%.
4.1.2.4. Gim st thng tin trng thi qua SNMP
Nu switch hay router ca bn h tr SNMP, bn c th gim st rt nhiu thng
tin bng check_snmp plugin. B xung nh ngha dch v bn di nh ngha
uptime(thi gian chy lin tc) ca switch.
define service{
use

generic-service ;

k tha gi tr t

mu
host_name

linksys-srw224p

service_description

Uptime

check_command

check_snmp!-C public -o

sysUpTime.0
}
Trong mc check_command trn, tham s "-C public" ch ra rng tn SNMP l
"public" v "-o sysUpTime.0" ch ra OID c kim tra.

16

Nu bn mun gim st mt giao din/cng(port/interface) no trn switch


trng thi up hay down, bn thm mt nh ngha dch v nh sau:
define service{
use

generic-service Tha k gi tr t mu

host_name

linksys-srw224p

service_description

Port 1 Link Status

check_command
check_snmp!-C public -o
ifOperStatus.1 -r 1 -m RFC1213-MIB
}
Trong v d trn, tham s "-o ifOperStatus.1" ch v tr cng y l 1. Tham s
"-r 1" c ngha l check_snmp plugin tr v trng thi OK nu "1" c tm thy
trong kt qu SNMP (1 ch trng thi "up"ca cng) v CRITICAL nu n khng tm
thy. Tham s "-m RFC1213-MIB" ch ra rng check_snmp plugin ch ti "RFC1213MIB" thay v ti cc MIB c ci trn h thng ca bn. iu ny gip lm tng tc
mi th ln.
Lu :
Bn c th tm ra cc OID c gim st trn switch bng cch s dng
lnh( thay 192.168.1.253 thnh a ch IP ca switch bn qun l):
snmpwalk -v1 -c public 192.168.1.253 -m ALL .1
4.1.2.5 Gim st bng thng v t l lu lng
Nu bn ang gim st bng thng s dng trn switch hay router s dng
MRTG, bn c th nhn c cnh bo khi t l lu lng t ti ngng m bn nh
trc. check_mrtgtraf plugin (sn c trong cc bn Nagios plugin c phn phi) cho
php bn lm iu ny. Bn cng cn phi cho check_mrtgtraf plugin bit tp log no
lu tr nhng d liu MRTG , ngng gii hn, v.v... Trong v d ny, chng ta s
gim st mt cng trn Linksys switch. Tp MRTG log c lu trong
/var/lib/mrtg/192.168.1.253_1.log. y l nh ngha dch v m chng ta s dng
gim st d liu bng thng c lu trong tp log.
define service{
use

generic-service ; Inherit values from a

template
host_name

linksys-srw224p

service_description

Port 1 Bandwidth Usage

check_command
check_local_mrtgtraf!/var/lib/mrtg/192.168.1.253_1.log!AVG!
1000000,2000000!5000000,5000000!10
}

17

Trong v d trn, tp "/var/lib/mrtg/192.168.1.253_1.log" c khai bo trong


phn check_local_mrtgtraf ch ra rng plugin s c tp MRTG log khi x l. Ty
chn "AVG" c ngha l s dng s liu thng k bng thng trung bnh. Ty chn
"1000000,2000000" l cnh bo khi ti ngng trong vic tng t l lu lng(bng
byte). Ty chn "5000000,5000000" l ti hn lu lng gi i (bng byte). Ty chn
"10" ch ra rng plugin tr v trng thi CRITICAL nu tp MRTG log khng c
cp nht sau 10 minute (thng l c cp nht 5 pht mt ln).
Lu li tp, khi ng li Nagios.

4.2. Gim st my u cui


4.2.1. Gim st cc ti nguyn trn my u cui
Trn mi my tnh u cui c ci mt Agent. Agent ny s thc hin vic
kim tra trng thi cc ti nguyn trn chnh my . Nagios giao tip vi Agent ny
thu thp kt qu. NSClient++ l Agent c s dng trn my c gim st chy
h iu hnh window v NRPE trn my c gim st chy h iu hnh linux.
Nagios s dng 2 plugin giao tip vi cc Agent ny l check_nt cho window v
check_nrpe cho linux. Kh nng gim st:
Ti CPU.
Tnh trng s dng a cng.
Tnh trng s dng b nh trong, v swap.
S ngi dng ang logon, s tin trnh ang chy v tp log h thng trn
linux Gim st tng dch v, tin trnh trn window.
Chi tit cch thc ci t, cu hnh tham kho phn ph lc.

4.2.2. Gim st cc thng s an ton phn cng trn my u cui


Plugin gim st cc thng s an ton phn cng l check_sensors. My c
gim st phi ci t LM sensors v nhn phi c cp nht module driver ph hp.
Cc thng s c gim st l:

Nhit CPU.

Tc qut.

Pin.

Gi h thng.

Chi tit cch thc ci t, cu hnh tham kho phn ph lc.

18

4.3. Gim st cc dch v mng


i vi cc dch v mng nh HTTP, POP3, IMAP, FTP, SSH l cc dch v
dng chung, cng khai. Nagiso thng gim st c trng thi ca cc dch v ny
m khng cn bt c yu cu truy cp c bit no. Khng nh cc dch v ring,
Nagios khng th gim st c nu nh khng c cc agent trung gian. V d cc
dch v c lin quan n host nh l ti CPU, tnh trng s dng b nh trong, a,
V nhng thng tin ny thng khng c cng khai vi bn ngoi v yu cu
quyn truy cp. Khi gim st cc dch v mng, Nagios s gi cc plugin c t
ngay trn server Nagios gi mt yu cu dch v n host cung cp dch v, hoc gi
mt plugin trn mt host v yu cu dch v trn host th 2 ri thu thp kt qu tr v.

4.3.1. Gim st web server


4.3.1.1. Tng quan
Nagios s dng plugin check_http trong vic gim st dch v HTTP trn web
server. Check_http c th nhn bit c cc thng tin sau:

thc).

Thi gian tr li ca web server.


M li tr v ca dch v http (403 : khng tm thy tp, 404: li xc

Ni dung chui tr v ca http c cha chui s cho trc khng.

Mt URL no c cn nm trn web server hay khng.

4.3.2.2. Cu hnh gim st


Tt c cc dch v u c cung cp bi mt host no . Mi nh ngha dch
v gim st u phi khai bo host cung cp. nh ngha host cung cp nu n cha
c nh ngha (nh ngha vo mt tp cu hnh bt k c khai bo trong tp cu
hnh chnh nagios.cfg). V d nh ngha mt host cung cp:
define host{
use

generic-host

; k tha gi tr mc

nh t mu
host_name
alias
address
hostgroups

remotehost ; Tn ca host
Some Remote Host
192.168.1.50
allhosts

19

; Tn khc ca host
; a ch IP ca host
; Nhm ca host

nh ngha mt dch v n gin cho vic gim st dch v HTTP trn my xa


nh sau:
define service{
use

generic-service

; k tha gi tr mc

nh t mu
host_name

remotehost

service_description

HTTP

check_command check_http
}
nh ngha dch v ny s gim st dch v HTTP chy trn my xa. N s to
cnh bo nu web server khng tr li sau 10 giy hoc web server tr v m
li(403,404)
Lu :
gim st mc su hn bn c th xem hng dn check_http plugin vi
tham s dng lnh l --help. C php --help c tt c cc plugin.
Di y l mt nh ngha dch v mc su hn. N s kim tra xem
/download/index.php URI c cha chui "latest-version.tar.gz" hay khng. Thng bo
li nu khng tm thy, URI khng hp l, hay l web server tr li sau 5 giy.
define service{
use

generic-service

; k tha gi tr mc

nh t mu
host_name

remotehost

service_description
check_command
-t 5 -s "latest-version.tar.gz"

Product Download Link


check_http!-u /download/index.php

4.3.2. Gim st proxy server


T cch thc phc v ca mt web proxy, chng ta c th s dng plugin
check_http thc hin vic truy vn n proxy yu cu dch v v nhn kt qu tr
v.
Gim st hot ng bng cch truy vn n proxy, yu cu mt a ch URL nh
sau http://www.google.com.vn:
nagios@linux:nagios/libexec$ ./check_http -H www.swobspace.de \
-I 192.168.1.13 -p 3128 -u http://www.swobspace.de

20

HTTP OK HTTP/1.0 200 OK -2553 bytes in 0.002 seconds


Trong I : l tham s a ch ca proxy cn kim tra
-H tn ca host cung cp URL cn ly
-u URL mun ly
nh ngha lnh:
define command{
command_name check_proxy
command_line $USER1$/check_http -H www.google.de \
-u http://www.google.de -I $HOSTADDRESS$ -p $ARG1$
}
nh ngha host proxy c gim st
define service{
service_description Webproxy
host_name linux01
check_command check_proxy!3128
...
}

4.3.3. Gim st file server


Khi bn cn gim st FTP server, bn s dng check_ftp plugin. Tp
commands.cfg c sn nh ngha lnh s dng plugin ny:
define command{
command_name
command_line

check_ftp
$USER1$/check_ftp -H

$HOSTADDRESS$ $ARG1$
}
Di y l nh ngha dch v n gin cho vic gim st PTF server t xa:
define service{

21

use

generic-service

; k tha gi tr mc

nh t mu
host_name

remotehost

service_description

FTP

check_command check_ftp
}
nh ngha dch v ny s gim st dch v PTP v to ra thng bo nu server
khng tr li sau 10 giy.
Cn di y l mt nh ngha dch v mc su hn. Dch v s kim tra FTP
server chy trn cng 1023 ca host xa. N s to ra thng bo nu server khng tr
li sau 5 giy hoc thng ip server tr li khng c chui "Pure-FTPd [TLS]".
define service{
use

generic-service

; Inherit default values

from a template
host_name

remotehost

service_description

Special FTP

check_command check_ftp!-p 1023 -t 5 -e "Pure-FTPd


[TLS]"
}

4.3.4. Gim st mail server


4.3.4.1. Gim st dch v smtp
check_smtp plugin c s dng gim st email server. Tp commands.cfg
cha nh ngha lnh s dng check_smtp plugin:
define command{
command_name

check_smtp

command_line
$HOSTADDRESS$ $ARG1$

$USER1$/check_smtp -H

}
Di y l nh ngha dch v n gin cho vic gim st SMTP server
define service{

22

use

generic-service

; k tha gi tr mc

nh t mu
host_name

remotehost

service_description

SMTP

check_command check_smtp
}
nh ngha dch v ny s gim st dch v SMTP server v to ra thng bo nu
SMTP server khng tr li sau 10 giy.
Cn nh ngha di y s kim tra SMTP server v to ra thng bo nu server
khng tr li sau 5 giy v thng ip tr v t server khng cha on
"mygreatmailserver.com".
define service{
use

generic-service

; k tha gi tr mc nh

t mu
host_name

remotehost

service_description

SMTP Response Check

check_command
"mygreatmailserver.com"

check_smtp!-t

-e

}
4.3.4.2. Gim st dch v POP3
check_pop plugin c s dng gim st dch v POP3 trn mail server . Tp
commands.cfg cha nh ngha lnh s dng check_pop plugin:
define command{
command_name

check_pop

command_line
$HOSTADDRESS$ $ARG1$

$USER1$/check_pop -H

}
Di y l nh ngha dch v n gin cho vic gim st dch v POP3 trn
host xa:
define service{
use

generic-service

nh t mu
host_name

remotehost

service_description

POP3

check_command check_pop

23

; k tha gi tr mc

}
nh ngha dch v ny s gim st dch v POP3 v to ra thng bo nu POP3
khng tr li sau 10 giy.
Cn nh ngha di y s kim tra dch v POP3 v to ra thng bo nu server
khng tr li sau 5 giy v thng ip tr v t server khng cha on
"mygreatmailserver.com".
define service{
use

generic-service

; k tha gi tr mc

nh t mu
host_name

remotehost

service_description

POP3 Response Check

check_command

check_pop!-t

-e

"mygreatmailserver.com"
}
4.3.4.3. Gim st dch v IMAP
check_imap plugin c s dng gim st dch v IMAP4 trn mail server .
Tp commands.cfg cha nh ngha lnh s dng check_imap plugin:
define command{
command_name

check_imap

command_line
$HOSTADDRESS$ $ARG1$

$USER1$/check_imap -H

}
Di y l nh ngha dch v n gin cho vic gim st dch v IMAP4 trn
host xa:
define service{
use

generic-service

; k tha gi tr mc

nh t mu
host_name

remotehost

service_description

IMAP

check_command check_imap
}
nh ngha dch v ny s gim st dch v IMAP4 v to ra thng bo nu
IMAP4 khng tr li sau 10 giy.

24

Cn nh ngha di y s kim tra dch v IMAP4 v to ra thng bo nu


server khng tr li sau 5 giy v thng ip tr v t server khng cha on
"mygreatmailserver.com".
define service{
use

generic-service

; k tha gi tr mc

nh t mu
host_name

remotehost

service_description

IMAP4 Response Check

check_command
"mygreatmailserver.com"

check_imap!-t

-e

}
Khi ng li Nagios. Ch l mi ln bn thm mt nh ngha dch v mi
vo tpc cu hnh th bn phi kim chng li tp , v khi ng li Nagios. Nu
qu trnh kim chng c li th phi cu hnh li cho ng n khi khng cn li th
mi khi ng li Nagios.

4.3.5. Gim st Cc dch v khc


Ngoi nhng dch v trn Nagios cn sn c plugin cung cp vic gim st cc
dch v: SSH, LDAP, DHCP, DNS, database, cng TCP, cng UDP Phn ci t v
nh ngha cc dch v ny c th tham kho phn ph lc.

4.4. Cnh bo cho ngi qun tr


Khng phi lc no ngi qun tr cng c th di theo v nm bt mi hot
ng ca mng qua giao din ca h thng gim st. Bi vy bt c h thng gim st
mng no cng cn cung cp chc nng thng bo cho ngi qun tr qua cc phng
tin truyn tin nh email, sms, IM Nagios cung cp mt h thng thng bo linh
hot v qua nhiu phng tin truyn tin khc nhau. Trong nagios, thng bo sy ra
khi host/dch v thay i t trng thi ny sang trng thi khc. Tuy nhin khng phi
bt c host/dch v no cng c th nhn thng bo. Thng bo trc khi n c cc
lin lc n phi qua nhiu b lc khc nhau. Khi mt s kin sy ra vi mt host/dch
v no th trc khi quyt nh ra mt thng bo cho ngi qun tr, Nagios s thc
hin kim tra:
Cu hnh ca Nagios c cho php gi thng bo hay khng.(ty chn
enable_notifications)
Host/dch v c kim tra c trong thi gian c lp lch ngng hot
ng khng (downtime). Nu host/dch v ang trong thi gian downtime th cch

25

hnh ng kim tra host/dch v vn c thc thi. Kt qu c lu li trong


Nagios cn thng bo th s khng c gi i.
Host/dch v c kim tra c ang b Flapping khng (nu cu hnh bt
ty chn pht hin flap). Chi tit v tnh trng Flapping c trong chng 5.
Tng host/dch v c th c cu hnh ch thng bo cho ngi qun
tr mt s tnh trng nht nh.
Mi host/dch v c th c nh ngha mt chu k thi gian cho thng
bo. Nu khong thi gian thng bo c to khng nm trong gii hn ny th thng
bo cng b loi.
Thi gian t ln thng bo trc n thi im hin ti kim tra ln
hn khong thi gian c khai bo trong ty chn <notification_interval> hay cha.
y l ty chn cu hnh khong thi gian gia hai ln thng bo k nhau.
Cui cng Nagios kim tra cu hnh xem nhng ngi dng Nagios no
c nhn thng bo v tnh trng ca host/dch v ang c kim tra .
Chi tit cu hnh gi thng bo c trong phn ph lc ca ti liu.

4.5. Tng hp bo co
Ngoi chc nng gim st v cnh bo cc trng thi hin thi ca cc thnh
phn mng Nagios cn c th lp bo co v tnh trng hot ng ca cc thnh phn
mng trong mt khong thi gian nht nh. Bo co c th c lp vi tng
host/dch v, tng nhm hoc ton b mng vi cc b lc trng thi(SORT/HARD),
tnh trng(OK, WARNING, CRITICAL, UNKNOWN). T cc s liu trong bo co
ngi qun tr nm c tnh trng hot ng ca cc thnh phn mng trong mt
khong thi gian nht nh, nh gi c n nh ca cc thnh phn mng. Vic
tng hp bo co c thc hin kh n gin qua giao din web.

26

Chng 5. Cc vn lin quan


5.1. Cc khi nim c bn trong Nagios
5.1.1. Kim tra host
Host c kim tra bi Nagios daemon khi:
* Trong khong thi gian c nh ngha trong ty chn check_interval
(khong thi gian gia hai ln kim tra k tip) v retry_interval (Khong thi gian
thc hin kim tra li xc nhn khi pht hin host thay i trng thi) ca nh
ngha cu hnh host.
* Khi dch v m host cung cp thay i trng thi. Thng th khi dch v
thay i trng thi th host cng thay i trng thi. V d nu Nagios pht hin ra dch
v HTTP thay i trng thi t CRITICAL sang OK, th rt c th l host cung cp
dch v ny va khi ng li v ang chy.
* Khi c host con ca host b t vo trng thi UNREARCHABLE. l
trng thi m Nagios khng lin lc c vi host hay c th hiu l mt ng
truyn n host .
Nagios phn loi host ra ba trng thi:
* UP : hot ng bnh thng.
* DOWN: tm dng hot ng.
* UNREACHABLE: khng tm thy.

5.1.2. Kim tra dch v


Dch v c kim tra bi Nagios daemon khi:
* Trong khong thi gian c nh ngha trong ty chn check_interval
(khong thi gian gia hai ln kim tra k tip) v retry_interval (Khong thi gian
thc hin kim tra li xc nhn khi pht hin dch v thay i trng thi) ca nh
ngha cu hnh dch v.
Nagios phn loi dch v thnh bn trng thi:
OK: Hot ng bnh thng.
WARNING: C th hot ng nhng cha chnh xc hoc c th khng hot
ng.
UNKNOWN: Khng xc nh c.
CRITICAL: Khng hot ng.

5.1.3. Khi nim trng thi SORT/HARD


V d ta c mt nh ngha kim tra dch v DNS nh sau
define service{
host_name proxy

27

service_description DNS
...
normal_check_interval 5
retry_check_interval 1
max_check_attempts 5
...
}
Trong
normal_check_interval: khong thi gian gia cc ln kim tra bnh thng(l 5
pht).
retry_check_interval: nu gp li, sau 1 pht kim tra li xc nhn (soft state).
max_check_attempts: thc hin kim tra li 5 ln, nu li vn sy ra. Nagios kt
lun chc chn dch v thay i trng thi (hard state).

- Vy khi Nagios chc chn v trng thi ca mt host/dch v th n t l


HARD STATE. Thng thng khi bt u pht hin host/dch v thay i trng thi
Nagios thc hin li vi ln kim tra xc nhn, ty vo cu hnh. Trong khong thi
gian host/dch v c t l SOFT STATE. Khi host/dch v c t vo tnh
trng SOFT STATE hoc khi n khi phc li trng thi c t tnh trng SOFT
STATE th khng c bt c thng bo no c gi. Tuy nhin nhng s kin ny vn
c ghi vo tp log v c th xem c qua giao din chng trnh.

5.1.4. Khi nim FLAP


Nu trng thi ca host/ dch v khng n nh, thay i lin tc. Ngi qun tr
s nhn c rt nhiu thng bo trong mt khong thi gian ngn. N khng ch gy
kh chu m cn lm ri lon vic xc nh vn li. Nagios c th pht hin vn
ny v t trng thi l flapping.
pht hin tnh trng flap ca mt dch v, Nagios lu li 21 kt qu kim tra
dch v gn nht, tc l ti a lu li 20 ln thay i trng thi ca dch v. Hnh di
y m t s thay i trng thi ca mt dch v:

28

T hnh trn ta c th thy l trong 20 ln kim tra, dch v thay i trng thi 12
ln. Nagios da vo s liu ny thng bo dch v ang ri vo tnh trng flapping
hoc thot khi tnh trng flapping. Khi flapping sy ra, Nagios s ghi s kin ny vo
tp log, t thng tin flap vo phn comment ca dch v v dng hnh ng thng
bo trng thi dch v.
Pht hin flap c cu hnh 2 v tr; tp cu hnh chnh nagios.cfg (ci t cu
hnh ni chung) v trong nh ngha ca tng dch v c th.
Trong tp cu hnh chnh:
#/etc/nagios/nagios.cfg
...
enable_flap_detection=1

// cho php pht hin flap.

low_service_flap_threshold=5.0

//ngng di flap

high_service_flap_threshold=20.0 //ngng trn flap


...
on cu hnh trn c ngha l nu c t 5 ln tr ln dch v c ghi nhn l
thay i trong 20 ln kim tra th dch v c t vo tnh trng flapping.
Chng ta c th thit t ty chn pht hin flapping v t ngng flap cho tng
dch v trong phn nh ngha i tng dch v.
define service{
host_name linux01

flap_detection_enabled 1
low_flap_threshold 6.0
high_flap_threshold 20.0
...
}
Tng t pht hin flapping i vi host.

29

5.1.5. Mi quan h cha/con gia cc host v phn bit trng thi


down/unrearchable
Nagios l phn mm cha c kh nng t pht hin ra cc node v kin trc ca
mng. Cng vic ny do ngi dng t nh ngha v quyt nh theo quy tc nht
nh. Nagios c coi l trung tm gim st. Cc thit b(A) c ng kt ni vt l
trc tip n server Nagios c c mi quan h l con ca Nagios. Cc thit b kt
ni trc tip n A c coi l con ca A.. C nh vy kin trc mng c nh
ngha v m rng qua mi quan h cha/con ny, vi Nagios l trung tm.

Hnh 5.1 Mi quan h host cha/con.


V d mng c kin trc nh trn. Khi ta c Switch1 c coi l con ca
Nagios. Web, FTP, Router1 l con ca Switch1, Switch2 c coi l con ca Router1
Tt c mi quan h ny u phi do ngi dng nh ngha qua ty chn parents
trong mi nh ngha i tng. v d:
define host{
host_name

30

}
define host{
host_name

Switch1

parents

Nagios

}
define host{
host_name

Web

parents

Switch1

}
Nh v d hnh bn di, ta tt host web v router1. Mt hnh ng kim tra
c thc hin v tr v kt qu cho Nagios. Trng hp ny Nagios kt lun host
web v router1 trng thi DOWN bi v host cha Switch1 hot ng bnh thng.
Trong khi cc host nm sau router1 c kt lun l UNREACHABLE<Khng xc
nh>. V Nagios khng th lin lc c vi chng v router1 b tt ko theo mt
ng kt ni n cc host ny.

31

Router1
down ko
theo cc host
con ca n
mt lin lc
vi phn cn
li ca mng

Hnh 5.2 Phn bit DOWN-UNREACHABLE.


Vic phn bit trng thi DOWN-UNREACHABLE ca host gip cc nh qun
tr d dng hn trong vic xc nh c nguyn nhn v v tr ca li sy ra trn mng
khi nhn c thng bo s c. Ta xt mt v d nh sau: Khi gim st dch v DNS
trn mt mng c nh ngha nh hnh 5.2. Gi s tnh hung khi Nagios pht hin
DNS khng tr li truy vn ca n. N thc hin kim tra host cung cp dch v DNS(
y l proxy). Proxy khng tr li. Host cha ca proxy l switch2 c kim tra.
Switch2 khng tr li. Host cha ca Switch2 l switch1 c kim tra. Switch1 tr li.
T Nagios kt lun Switch1 UP. Con ca n l switch2 DOWN. Con ca switch b
DOWN l UNREARCHABLE. DNS khng hot ng : CRITICAL. Kt lun nh
hnh 5.3

32

Hnh 5.3 V d Xc nh li 1.

Hnh 5.4 V d xc nh li 2.
Vy trong trng hp ny khi khc phc s c DNS, ngi qun tr xc nh
c ngay nguyn nhn u tin dn n s c l do switch2 b DOWN.

33

5.1.6. Lp lch downtime


C nhng thit b ch hot ng vo nhng khong thi gian nht nh trong
ngy v ngoi khong thi gian n c tt i. Hnh ng tt bt c thc hin c
tnh chu k v thng xuyn. V d nh thit b vn phng, my in Hoc c nhng
server cn dng hot ng, nng cp, sa cha. Tm li l trong thc t c nhiu
trng hp trng thi ca thit b mng thay i do s ch ng t pha ngi qun tr
hoc ngi qun tr c th kim sot c. Vi nhng trng hp ny vic gi cnh
bo cho ngi qun tr l khng cn thit. V th Nagios cho php ngi qun tr lp
lch thi gian ngng kim tra cho tng host/dch v. Khong thi gian ny c gi l
downtime. Trong khong thi gian ny khng c bt c thng bo no ca host/dch
v c lp lch c gi i. Vic lp lch downtime cho host/dch v kh n gin v
c thc hin ngay trn giao din web ca chng trnh.

5.2. B x l s kin
Khi trng thi ca host/dch v thay i, nagios c th chy mt chng trnh bt
k c nh sn vi b x l s kin (event handler) x l tnh hung m khng
cn s can thip ca ngi qun tr.

5.2.1. Thi gian chy b x l s kin


Khi host/dch v :
trong trng thi mm
bt u vo trng thi cng
Bt u khi phc li bnh thng t trng li(mm hoc cng)

5.2.2. V d event handler


V d nh ngha mt script khi ng li my in khi my in bt u ri vo trng
thi li v kim tra li n ln th 3 tnh trng li vn sy ra.
Sa nh ngha dch v gim st my in, khai bo lnh x l s kin restart-lpd
define service{
host_name printserver
service_description LPD
...
event_handler restart-lpd

34

...
}
nh ngha trong tp lnh lnh restart-lpd:
define command{
command_name restart-lpd
command_line $USER1$/eventhandler/restart-lpd.sh \
$SERVICESTATE$ $SERVICESTATETYPE$
$SERVICEATTEMPT$
}
Lnh ny s gi mt script c tn l restart-lpd.sh t trong th mc
/usr/local/nagios/libexec/eventhandler (thng thng cc script c t trong th mc
/usr/local/nagios/libexec/). Script ny nhn 3 macro lm tham s l trng thi hin
thi ca dch v $SERVICESTATE$ (OK,WARNING, CRITICAL, hoc
UNKNOWN), loi trng thi $SERVICESTATETYPE$ (mm hoc cng), v s ln
kim tra li hin thi $SERVICEATTEMPT$ ). i vi host th cc macro ny l
$HOSTSTATE$, $HOSTSTATETYPE$, v $HOSTATTEMPT$.

2.3. Script x l
#!/bin/bash
#/usr/local/nagios/libexec/eventhandlers/restart-lpd.sh
#$1= Status, $2 =status type, $3 =attempt
case $1 in
OK)
;;
WARNING)
;;
CRITICAL)
if [$2=="HARD" ]||[[$2=="SOFT" && $3 -eq 3]]; then
echo "Restarting lpd service"
/usr/bin/sudo /etc/init.d/lpd restart

35

fi
;;
UNKNOWN)
;;
esac
exit 0
Vi script ny nu trng thi dch v l critical, loi trng thi l HARD hoc loi
trng thi l SOFT v kim tra li n ln th 3 th dch v lpd c gi vi tham
s l restart. Script ny c thc thi vi quyn ca ngi dng Nagios (c th khng
c quyn tm dng hoc khi ng li dch v h thng). V vy phi s dng lnh
sudo dng quyn root khi ng li dch v lpd.
Nu nh bn mun ngi dng nagios c quyn vi dch v lpd th thc hin nh
sau:
linux: # visudo
Thm dng sau v tp cu hnh
nagios nagsrv=(root)NOPASSWD: /etc/init.d/lpd
Dng ny cho php ngi dng nagios c quyn chy lnh /etc/init.d/lpd trn
host nagsrv v khng cn mt khu.
Nu bn khi ng li dch v khi n ang trng thi mm th ngi qun tr s
khng nhn c bt k thng bo no. Tuy nhin s kin vn c ghi li vo tp log.

5.3. Gim st phn tn


5.3.1. Kim tra ch ng
Khi Nagios cn kim tra trng thi ca host/dch v n gi mt plugin thc hin
hnh ng kim tra . Nagios s nhn kt qu t plugin c gi. y l cch thc
kim tra c bn ca Nagios. Trong trng hp ny Nagios quyt nh khi no hnh
ng kim tra c thc hin. Kim tra ch ng l phng thc kim tra c bn v
c s dng nhiu. Tuy nhin n vn cn c mt s nhc im v d nh n c thi
gian timeout ca mi hnh ng kim tra l c nh trc. Trong mt s trng hp
thi gian c th khng c kt qu chnh xc.

36

5.5 Kim tra ch ng

5.3.2. Kim tra b ng


Hnh ng kim tra host/dch v c thc hin bi mt ng dng/tin trnh bn
ngoi. Kt qu kim tra s c gi v cho Nagios x l.
Kim tra b ng c dng khi gim st cc vng mng khc nhau c tng
la ngn cch, dng trong gim st phn tn
Cch thc kim tra b ng: Mt ng dng bn ngoi thc hin hnh ng kim
tra host/dch v. Kt qu c ghi ra tp lnh ngoi tr. Nagios nh k ly kt qu
kim tra t tp ny v x l.

37

Hnh 5.6 Kim tra b ng

5.3.3. Gim st phn tn


Nagios c th phn tn vic gim st trn nhng mng ln bng cch s dng
mt server trung tm v nhiu server con phn tn trn cc mng con(mng con y
c th l mt mng WAN, cc vng mng ngn cch bi tng la). Nagios gi mi
mng con ny l mt cluster.
Server trung tm: nhn v x l kt qu kim tra t server con phn tn (passive
check), cc kt qu t n kim tra qua plugin (active check).
Server con phn tn: thc hin cc kim tra ch ng (active check) host/dch v
v gi kt qu v cho server trung tm. Thng th vi mi cluster nn t mt server
con Nagios.
Server con gi kt qu kim tra v server trung tm bng mt plugin c tn
NSCA. Chi tit cch thc ci t, giao tip ca NSCA tham kho phn ph lc cui ti
liu

38

CHNG 6. KT QU TRIN KHAI THC T TRN


MNG CA TRNG I HC CNG NGH
6.1 Gii thiu h thng mng ca trng H cng
ngh(CTnet)
Trng i hc Cng ngh hin c 19 khi/n v bao gm cc phng ban, cc
khoa, cc trung tm, phng th nghim, phng thc hnh Tt c cc n v ca
trng u c trang b u c trang b cc h thng my tnh phc v cng tc
iu hnh, qun l, hc tp, ging dy v nghin cu.
Internet
VNUnet Router

Cc trng
Thnh vin v
cc n v trc
thuc HQG

Switch

Cc phng lm vic
v phng my tnh trong
ta nh E3

Cc phng lm vic
v phng my tnh
trong ta nh E4

Cc phng lm vic
v phng my tnh
trong ta nh G2

Phn mng Trng HCN


Hnh 6.1 : S h thng mng CTnet
Ngoi cc h thng phng my phc v iu hnh, hc tp, ging dy v nghin
cu th trng cng ang duy tr mt s server v dch v h thng:
- Server Web, 1 CPU P.4, 1 GB RAM, 2 cng 36 GB (t phng HCQT)
- Server qun l ngi dng, 1 CPU P.4, 1 GB RAM, 1 cng 36 GB
- Server phc v tp, 1 CPU P.4, 512 MB RAM, 3 cng 36 GB
- Server phc v cc tin ch, 1 CPU P.4, 512 MB RAM, 1 cng 36 GB )
- Server mail, cung cp dch v th in t cho cn b, sinh vin trong trng.
- Cc server h tr dns, proxy
Mng CTnet l mt mng c quy m v cn phi c s qun l chc ch.

39

6.2. Ci t trin khai


H thng Nagios bt u c ci t v gim st nhng dch v u tin vo
ngy 27/03/2009 trn server c a ch mng ni b l 10.10.0.22 v a ch Internet l
210.86.230.113. a ch truy cp vo h thng l http://10.10.0.22/nagios. Vi mc
ch th nghim vic phn gim st ln ngoi server ny h thng cn ci t mt
server Nagios khc ti ti trung tm my tnh nh G2. Server ny gim st cc thit b,
my u cui ca trung tm my tnh v gi kt qu v cho server trung tm ti t ti
10.10.0.22.
n nay h thng c cu hnh gim st hu ht tt c cc dch v ca cm
my ch ca trng i hc cng ngh nh web, mail, ldap, ftp, dns

Cc phng ban khc,


VneNet, Internet

Cm my
ch

Router,
Switch

Mt s my tnh
thuc trung tm
my tnh

Hnh 6.2 Mt s server, my tnh c trin khai gim st.


V gim st cc thit b mng ca Switch, router, my in, my u cui ti trung
tm my tnh

40

6.2. Thng k tnh trng hot ng ca mt s host/dch v


Di y l nhng s liu ghi li c v tnh trng hot ng, n nh ca
mt s dch v.

6.2.1 Server mail


6.2.1.1 Host mail
Bng thng tin trng thi v cc thit t cho gim st server mail 10.10.0.16

Hnh 6.3 Thng tin mail server


T bng trn ta c c cc thng tin c bn v trng thi host mail (server
mail). Host mail ang trng thi UP, ln kim tra cui cng cch y bao lu, loi
kim tra (ACTIVE), host khng b flapping hay khng, khng c lp lch downtime.
Tt c cc tnh nng u c ENABLED.
Hnh 6.4 l bng thng k trng thi ca host mail t 27-03-2009 n 22-5-2009.
T bng ny cho thy host mail trng thi UP(hot ng) lin tc trong qung thi
gian c gim st. Khng c s c no vi host mail.

41

Hnh 6.4 Thng k trng thi host mail


Cc dch v c nh ngha gim st trn server mail gm imap, pop3, stmp.
Bng trng thi ca cc dch v:

Hnh 6.5 Cc dch v trn server mail


Bng ny cung cp thng tin tn dch v, trng thi hin thi, ln kim tra cui
6.2.1.2 Dch v smtp
y l s liu ghi li hot ng ca dch v STMP trn server mail trong thng 42009. Ghi li cc trng thi dng hot ng, khi phc, cnh bo, khng xc nh ca

42

dch v (OK, WARNING, CRITICAL, UNKNOWN) ca dch v. Ct dc l cc


trng thi, ct ngang l thi gian. Bn phi l thng k cc trng thi theo phn trm.

Hnh 6.6 S liu dch v STMP


Trong thng 4-2009, C 2 ngy dch v STMP b gin on 2, vo ngy 11/4 v
28/4. l ct Critical trn hnh v. y l s liu ngy 11/04/2009 n 12/04/2009.

Hnh 6.7 Trng thi STMP ngy 11/4/2009 -12/04/2009


T hnh v trn ta c th thy trong qung thi gian ny dch v rt khng n
nh v thay i trng thi lin tc.
Hnh 8.6 thng k cc s kin sy ra thng 04/2009, nhn vo bng ny ta c th
thy c s lng cc s kin sy ra trong thng, v sy ra vo gi no. Bao gm c
cc s kin HARD, SOFT (chng 5). Ct dc l s s kin, ct ngang l gi, c 4
loi s kin l khi phc, cnh bo, khng xc nh, khng hot ng tng ng 4
mu xanh, vng, , cam. Biu ny khc vi biu 6.7 l n ghi li c cc cc
trng thi SOFT ca dch v. Nhn vo biu ny ta c th thy gi no hay sy ra s
c nht.

43

Hnh 6.8: Thng k s kin


Hnh chp 1 s cnh bo c a ra v c ghi li trong tp log. Cnh bo
hnh OK l ghi nhn dch v tr li hot ng. Cnh bo hnh chm than l dch v
dng hot ng.

Hnh 6.9 log thng bo


Thng bo tnh trng dch v STMP thay i trng thi c gi n cho ngi
qun tr qua email. Khun dng thng bo c dng kiu nh sau:

44

Hnh 6.10 Ni dung email


6.2.1.3 Dch v POP3, IMAP
Tng t cc ni dung nh dch v SMTP. Phn ny ch a ra mt s s liu
theo di POP3, IMAP. Dch v POP3 v dch v IMAP c n nh cao hn SMTP.
y l s liu t 01/04/2009 n 01/05/2009.

Hnh 6.11 Tnh trng hot ng ca IMAP trong thng 4/2009.

45

Hnh 6.12 Tnh trng hot ng ca IMAP trong ngy 28/04/2009

Hnh 6.13 Cc s kin ca IMAP trong thng 4

Hnh 6.14 Cc s kin ca POP3 trong thng 4

6.2.2 Cc server khc


i vi cc server khc vic thng k, quan st, thng bo hon ton tng t,
di y ch ch s lc tnh trng hot ng ca cc server trong thng 4-2009.

46

6.2.2.1. Server web


y l s liu ca dch v web trn server c a ch mng ni b l 10.10.0.10
t ngy 1/4/2009 n 18/5/2009. Trong ch ghi nhn c mt ln khng truy cp
c dch v t 9h28 n 10h 03 ngy 27/4/2009.

Hnh 6.15 din bin hot ng ca dch v web ngy 27/04/2009.


Sau , 10h 03 dch v http khi phc li hot ng.
6.2.2.2 server ftp

Hnh 6.16 Tnh trng hot ng ca dch v ftp t 1/4/2009 n 1/5/2009.

47

Hnh 6.16 l s liu gim st dch v ftp trn host 10.10.0.18 c ghi li t ngy
1/4/2009 n 1/5/2009. T s liu ny ta c th thy trong thng 4 dch v b gin
on 1 ln. Di y l s liu ghi li ngy dch v gin on:

Hnh 6.17 Tnh trng hot ng ca dch v ftp t 28/4/2009 n 29/4/2009


6.2.2.3 server dns

Hnh 6.18 Tnh trng hot ng ca dch v dns

48

Server dns c a ch 10.10.0.7 l mt trong nhng server chy n nh nht khi


khng ghi nhn c s c no v server ny:
6.2.2.4 Proxy
Cc s kin sy ra t 1/5/2009 n 22/52009 trn Proxy 203.113.130.216.

Hnh 6.19 Tnh trng hot ng proxy


Proxy DOWN v RECOVERY rt nhiu ln.
6.2.2.5 Server ldap
Server ldap 10.10.0.17 gim st 2 ngy t 12/05/2009 n 22/05/2009. Cha ghi
nhn c s c no. Cc dch v c gim st bao gm ldap, ssh.

Hnh 6.20 Cc dch v c gim st trn ldap

6.2.3. Cc thit b khc


i vi cc thit b khc vic thng k, quan st, thng bo hon ton tng t
nh phn gii thiu v server mail.
6.2.3.1. Switch, router
Cc dch v trin khai trong vic gim st router, switch bao gm kim tra
trng thi UP/DOWN ca thit b v tng cng, thi gian hot ng lin tc ca thit
b. Gim st lu lng qua tng cng cha trin khai c.

49

Hnh 6.21 Cc dch v c gim st trn switch c a ch 192.168.0.3.


6.2.3.2. My in
Cc dch v trin khai trong vic gim st my in l kim tra trng thi kt ni
vo mng, gim st, nhn dng trng thi hin thi ca my in.

Hnh 6.22 cc dch v c gim st trn my in c a ch 192.168.0.9.

6.2.4. Cc my tnh u cui.


6.2.4.1. My tnh chy h iu hnh window
Cc dch v trin khai th nghim trn my s dng h iu hnh Window l
Trnh trng s dng CPU, a cng, RAM, gim st hot ng ca cc tin trnh, cc
dch v ang chy, thi gian s dng my tnh lin tc.

Hnh 6.23 Cc dch v c gim st trn window c a ch 192.168.0.230.


6.2.4.2. My tnh chy h iu hnh linux
Cc dch v trin khai th nghim trn my s dng h iu hnh linux l
Trnh trng s dng CPU, a cng, RAM, swap, gim st tng s trnh ang chy,
s ngi dng hin thi ang s dngcc dch v ang chy.

50

Hnh 6.23 Cc dch v c gim st trn linux c a ch 10.10.0.22


Vic trin khai gim st cc thng s phn cng ca PC, server cn gp trc trc,
cha c kt qu.

6.3. Mt s nhn nh v Nagios


Kt qu gim st chnh h thng Nagios t 18/3/2009 n 19/15/2009:

Hnh 6.7 Tnh trng hot ng ca Nagios t 18/3/2009 n 19/5/2009.


Nagios trng thi UP 100% trong thi gian c gim st. Ta c th thy c
rng tuy l mt h thng ngun m nhng Nagios hot ng rt n nh. Pht hin
chnh xc cc thay i ca cc dch v mng. Th na do thit k theo kiu plugin nn
Nagios rt uyn chuyn trong vic gim st. Ngi dng c th t vit script thc thi
vic gim st cc dch v theo mnh. Hu nh tt c cc dch v, thit b mng u
c th vit c plugin gim st. Tuy nhin vic ci t, cu hnh Nagios cn rm r
v mt kh nhiu thi gian v cng sc.

51

PH LC I
1. HNG DN CI T NAGIOS TRN DEBIAN/UBUNTU
Phn ny cung cp nhng hng dn c bn v cch ci t m ngun Nagios
trn Debian/Ubuntu..
Nagios v cc plugin c t trong th mc /usr/local/nagios.
Giao din web Nagios c truy cp qua a ch http://localhost/nagios/

1.1 Gi yu cu
m bo cc gi sau c ci t trc khi tip tc ci Nagios

Apache 2

Trnh bin dch v th vin C

Th vin GD

Ci cc gi trn bng apt-get:


sudo apt-get install apache2
sudo apt-get install build-essential
Vi Ubuntu 6.10 ci t th vin gd2 bng cch thc hin lnh:
sudo apt-get install libgd2-dev
Vi Ubuntu 7.10 tr ln:
sudo apt-get install libgd2-xpm-dev

1.2 To thng tin ti khon


Chuyn sang ngi dng root:
sudo s
To mt ti khon ngi dng Nagios mi v t mt khu
/usr/sbin/useradd -m nagios
passwd nagios
Trn phin bn Ubuntu server phi to mt nhm Nagios. C th b qua bc
ny nu ci t trn phin bn desktop Ubuntu.
/usr/sbin/groupadd nagios
/usr/sbin/usermod -G nagios nagios
To mt nhm mi c tn l nagcmd cho php cc lnh ngoi tr c submit
qua giao din web. Thm ti khon ngi dng nagios v ngi dng apache vo
nhm ny.
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios

52

/usr/sbin/usermod -a -G nagcmd apache

1.3 Ti v Nagios v Plugin


To th mc lu tr m ngun c download
mkdir ~/downloads
cd ~/downloads
C th vo website http://www.nagios.org/download/ ti v phin bn mi
nht ca Nagios v plugin. Hoc thc hin download phin bn Nagios 3.0.6 v
Nagios plugin 1.4.11 bng lnh:
Wget http://osdn.dl.sourceforge.net/sourceforge/
nagios/nagios-3.0.6.tar.gz
wget http://osdn.dl.sourceforge.net/sourceforge/
nagiosplug/nagios-plugins-1.4.11.tar.gz

1.4 Bin dch v ci t Nagios


Gii nn m ngun Nagios
cd ~/downloads
tar xzf nagios-3.0.6.tar.gz
cd nagios-3.0.6
chy script cu hnh, vi tham s l tn ca nhm va to
./configure --with-command-group=nagcmd
Bin dch m ngun Nagios:
make all
Ci t nh phn, script khi to, tp cu hnh mu v t quyn trn th mc
lnh ngoi tr (external command).
make install
make install-init
make install-config
make install-commandmode
Cha vi khi ng Nagios

1.5 Ty chnh cu hnh


Tp cu hnh mu c t trong th mc /usr/local/nagios/etc.
M tp cu hnh /usr/local/nagios/etc/objects/contacts.cfg
vi /usr/local/nagios/etc/objects/contacts.cfg

53

v thay i a ch email trong phn nagiosadmin thnh a ch email ca ngi


s nhn cnh bo cc nguy c ca mng t Nagios.

1.6 Cu hnh giao din web


ci t tp cu hnh mu ca Nagios vo th mc conf.d ca Apache.
make install-webconf
To ti khon nagiosadmin ng nhp vo Nagios qua giao din web. t mt
khu:
htpasswd -c /usr/local/nagios/etc/htpasswd.\
users nagiosadmin
Khi ng li Apache
/etc/init.d/apache2 reload

1.7 Bin dch v ci t cc Nagios Plugin


Gii nn m ngun Nagios plugins.
cd ~/downloads
tar xzf nagios-plugins-1.4.11.tar.gz
cd nagios-plugins-1.4.11
bin dch v ci t cc plugin.
./configure --with-nagios-user=nagios \
--with-nagios-group=nagios
make
make install

1.8 Khi ng Nagios


Cu hnh Nagios n t ng chy khi h thng khi ng
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
Thm tra li tp cu hnh mu
/usr/local/nagios/bin/nagios \
-v /usr/local/nagios/etc/nagios.cfg
Nu khng c li th bt u khi ng Nagios
/etc/init.d/nagios start

1.9 Ci t mailx
Nu mun nhn cnh bo t Nagios qua email cn phi ci t gi mailx
(Postfix).
sudo apt-get install mailx

54

Sa lnh thng bo email trong tp /usr/local/nagios/etc/objects/


commands.cfg. i tt c cc ng dn l '/bin/mail' thnh '/usr/bin/mail'(Dng
th 30 v dng 36 trong tp cu hnh ny, l cc dng v nh ngha lnh thng bo v
tnh trng host v dch v qua email).
Khi ng li Nagios:
sudo /etc/init.d/nagios restart
Tham kho trang NagiosCommunity.org c c nhng hng dn chi tit
h thng Ubuntu c th gi email n mt a ch email bn ngoi.

PH LC II
2. Cp nht phin bn Nagios 3.x
Cp nht, nng cp phin bn mi ca Nagios l mt vic cng ht sc quan
trng. Qu trnh nng cp c tin hnh nh sau:
Sao lu h thng trc khi tin hnh nng cp. iu m bo cho bn c th
phc hi li h thng c nu nh c s c sy ra trong qu trnh nng cp.
Chuyn sang ti khon nagios. Vi ngi dng Debian/Ubuntu s dng lnh:
su -l nagios
Ti v phin bn mi nht ca Nagios(c th gh thm
http://www.nagios.org/download/ c c thng tin v phin bn mi nht).

trang

wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.x.tar.gz
Gii nn m ngun Nagios:
tar xzf nagios-3.x.tar.gz
cd nagios-3.x
Chy script cu hnh Nagios, Tham s nhm l tn nhm nagcmd uc to lc
ci t.
./configure --with-command-group=nagcmd
Bin dch m ngun Nagios
make all
Ci t nh phn, Ti liu, v giao din web. Cu hnh c ca bn s khng b
ghi bc ny.
make install
Kim chng tp cu hnh v khi ng li Nagios. Hon tt
/usr/local/nagios/bin/nagios \
-v /usr/local/nagios/etc/nagios.cfg

55

/sbin/service nagios restart


Nng cp t gi ci RMP
a.

Sao lu ci t hin thi ca Nagios

Tp cu hnh chnh (thng l nagios.cfg)

Tp cu hnh ti nguyn (thng l resource.cfg)

Tp cu hnh CGI (thng l cgi.cfg)

Tt c cc tp nh ngha i tng ca bn

Retention file (Thng l retention.dat)

Tp log hin thi ca Nagios(Thng l nagios.log)

Cc tp log ca Nagios c lu tr

b.

G ci gi RPM, APT hin thi

c.

Ci t li Nagios t u nh hng dn trn

d.

Khi phc li cc tp cu hnh, tp retention, v cc tp log

e.

Thm tra li tp cu hnh v khi ng Nagios.

Ch rng gi RPM v APT c th c nhng cch ci khc nhau v lu vo


nhng v tr khc nhau, m bo rng h thng phi c sao lu trc khi g cc gi
ci c.

PH LC III
3. CI T NSCLIENT++ GIM ST MY WINDOW
Phn ny s m t cch ci t nagios gim st mt my chy h iu hnh
window.
Nhng ci c
Mt vi nhim v cu hnh c thc hin:

Lnh check_nt c nh ngha trong tp commands.cfg. N cho php s


dng lnh check_nt plugin cho vic gim st cc dch v Window.

Mu Windows server host (c gi l windows-server) c to trong


tp templates.cfg. N cho php thm mt nh ngha host window mi theo mu rt
n gin.

Cc tp cu hnh trn c t trong th mc /usr/local/nagios/etc/objects/.


C th chnh sa nhng nh ngha c v thm nhng nh ngha mi cho ph hp
vi yu cu.
Cc yu cu cn c

56

Trong ln u tin cu hnh Nagios cho vic gim st mt my window cn phi


sa tp cu hnh mu.
vi /usr/local/nagios/etc/nagios.cfg
B du # dng nh ngha nh bn di trong tp cu hnh
#cfg_file=/usr/local/nagios/etc/objects/windows.cfg
Lu tp cu hnh v thot.
V khng phi lm li vic ny na khi cu hnh gim st mt my mi.
Ci t Windows Aget
Trc khi gim st cc dch v v thuc tnh ca my window cn ci t mt
agent trn my . Ti liu ny hng dn cch ci t NSClient nh sau:
Ti v phin bn mi
http://sourceforge.net/projects/nscplus

nht

ca

NSClient

theo

ch

Gii nn NSClient++ ra th mc C:\NSClient++


M mt command prompt v chuyn n th mc C:\NSClient++
ng k NSClient++ vo system service bng lnh:
nsclient++ /install
Ci NSClient++ systray bng lnh('SysTray' is case-sensitive):
nsclient++ SysTray
M services manager, tm n dch v NSClientpp, v cho php dch v
NSClientpp tng tc vi desktop (trong phn th 'Log On') Nh hnh bn di:

Sa tp NSC.INI (trong th mc C:\NSClient++) nh sau:

57


B comment cc module trong phn [modules], tr CheckWMI.dll v
RemoteConfiguration.dll

Ty chn ngh mt mt khu cho client trong ty chn 'password' ca


phn [Settings].

B comment ty chn 'allowed_hosts' trong phn [Settings] . khai bo a


ch IP Nagios server trong mc ny, trng l cho php tt c cc host c php kt
ni n.

B comment ty chn 'port' trong phn [NSClient]v t l '12489' (cng


mc nh).
Khi ng dch v NSClient++ :
nsclient++ /start
Nu c ci t ng cch, th mt biu tng mi s xut hin trn system
tray. N l mt vng trn mu vng c ch 'M' bn trong.
Cu hnh Nagios
M tp windows.cfg :
vi /usr/local/nagios/etc/objects/windows.cfg
Thm mt nh ngha host mi cho my Window mi c gim st. Khai bo
cc trng host_name, alias, v address.
define host{
use

windows-server //tha k t mu c sn

host_name
alias

winserver

My Windows Server

address 192.168.1.2
}
Tip theo phi nh ngha mt s dch v khai bo cho Nagios bit nhng mc
s c gim st.
nh ngha dch v gim st phin bn ca NSClient++ chy trn my window:
define service{
use

generic-service

host_name

winserver

service_description NSClient++ Version


check_command

check_nt!CLIENTVERSION

}
nh ngha dch v gim st thi gian uptime ca Windows server:

58

define service{
use

generic-service

host_name

winserver

service_description Uptime
check_command

check_nt!UPTIME

}
nh ngha dch v gim st vic s dng CPU v a ra cnh bo CRITICAL
nu ti CPU l 90% trong vng 5 pht, hoc cnh bo WARNING nu ti CPU l 80%
trong vng 5 pht.
define service{
use

generic-service

host_name

winserver

service_description CPU Load


check_command

check_nt!CPULOAD!-l 5,80,90

}
nh ngha dch v gim st vic s dng b nh v a ra cnh bo CRITICAL
nu b nh s dng n 90%, hoc cnh bo WARNING nu b nh s dng n
80%.
define service{
use

generic-service

host_name

winserver

service_description

Memory Usage

check_command

check_nt!MEMUSE!-w 80 -c 90

}
nh ngha dch v gim st vic s dng a C:\ v a ra cnh bo
CRITICAL nu b nh s dng n 90%, hoc cnh bo WARNING nu b nh s
dng n 80%.
define service{
use

generic-service

host_name

winserver

service_description

C:\ Drive Space

check_command

check_nt!USEDDISKSPACE!-l c -w 80 -c 90

}
nh ngha dch v gim st trng thi dch v W3SVC trn window v a ra
cnh bo CRITICAL nu dch v tm dng.

59

define service{
use

generic-service

host_name

winserver

service_description

W3SVC

check_command

check_nt!SERVICESTATE!-d

SHOWALL

-l

W3SVC
}
nh ngha dch v gim st tin trnh Explorer.exe v a ra cnh bo
CRITICAL nu tin trnh ny tm dng.
define service{
use

generic-service

host_name
service_description
check_command
Explorer.exe

winserver
Explorer
check_nt!PROCSTATE!-d

SHOWALL

-l

}
Mt khu
Nu ch nh mt khu trong tp cu hnh NSClient++ ca my window phi sa
nh ngha lnh check_nt v thm mt khu. M tp commands.cfg:
vi /usr/local/nagios/etc/commands.cfg
Thay i nh ngha lnh check_nt v thm tham s "-s <PASSWORD>" (trong
PASSWORD l mt khu ch nh trn my window):
define command{
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s
PASSWORD -v $ARG1$ $ARG2$
}

PH LC IV
4. CI T GIM ST MY LINUX VI NRPE
Ti liu ny hng dn ci t trn h thng Fedora 6. i vi cc nn tng linux
khc c th tham kho hng dn v tr gip ti a ch:
http://www.nagioscommunity.org/wiki/

60

4.1 iu kin
Quyn root truy cp vo h thng linux.
Ti khon truy cp vo Nagios my gim st
lu :
Gi thit rng nhng ch dn cho vic ci t NRPE l trn h thng linux c kt
ni TCP v xinetd c ci t. Vi hu ht cc phin bn linux ngy nay th chng
c mc nh trong h thng. Tuy nhin vi cc h thng c th vn dng inetd(thay
v xinetd) v c th khng h tr TCP. V vy nu mun ci t NRPE deamon trn
nhng h thng nh th ny th c th tham kho thm thng tin trong 2 tp README
v SECURITY t trong th mc gc ca b ci NRPE.

4.2 Ci t host c gim st


To thng tin ti khon: chuyn sang ngi dng root(c th s dng lnh sudo
s i vi Ubuntu)
Su l
To mt ti khon ngi dng Nagios mi v t pasword;
/usr/sbin/useradd nagios
passwd nagios
4.2.1 Ci t Nagios Plugin
To mt th mc lu tr chng trnh download
mkdir ~/downloads
cd ~/downloads
Download m ngun ca Nagios plugin(c th vo trang ny c c thng
tin v phin bn mi nht http://www.nagios.org/download/ ). Ti thi im vit ti
liu ny phin bn mi nht ca Nagios plugins l 1.4.6
wget http://osdn.dl.sourceforge.net/sourceforge/
nagiosplug/nagios-plugins-1.4.6.tar.gz
Gii nn m ngun Nagios:
tar xzf nagios-plugins-1.4.6.tar.gz
cd nagios-plugins-1.4.6
Bin dch v ci t plugins.
./configure
make
make install
t li quyn cho th mc cha Nagios:

61

chown nagios.nagios /usr/local/nagios


chown -R nagios.nagios /usr/local/nagios/libexec
Ci xinetd : y l gi mc nh c trong Fedora 6. Tuy nhin nu khng c
gi ny th c th ci n bng lnh sau:
yum install xinetd
(ubuntu cng l xinetd)
4.2.2 Ci t NRPE daemon
Thng th trn linux, ssl mc nh c ci, tuy nhin th vin ca n th
khng, nrpe yu cu cn c th vin ny khi bin dch v vy cn phi b xung th
vin ny. Trn Redhat l openssl-devel..(ubuntu l :sudo apt-get install libssl-dev ).
Ngoi ra trn my ci nrpe cng phi ci gcc, th vin gcc.
Ti v m ngun NRPE addon (vo trang http://www.nagios.org/download/
c c thng tin v phin bn mi nht). Ti thi im vit ti liu ny th phin bn
mi nht ca NRPE l 2.8.
cd ~/downloads
wget http://osdn.dl.sourceforge.net/sourceforge/
nagios/nrpe-2.8.tar.gz
Gii nn m ngun NRPE
tar xzf nrpe-2.8.tar.gz
cd nrpe-2.8
Bin dch NRPE addon.
./configure
make all
Ci t NRPE plugin (cho testing), daemon, v tp cu hnh daemon mu.
make install-plugin
make install-daemon
make install-daemon-config
Ci NRPE daemon l mt dch v trong xinetd.
make install-xinetd
Sa tp /etc/xinetd.d/nrpe v thm a ch IP
only_from:
only_from

= 127.0.0.1 <nagios_ip_address>

Thm mc bn di vo tp /etc/services.
nrpe

ca server gim st phn

5666/tcp # NRPE

62

Khi ng li dch v xinetd.


service xinetd restart
(ubuntu l /etc/init.d/xinetd restart)
m bo rng nrpe daemon c chy trong xinetd.
netstat -at | grep nrpe
Nu mn hnh hin th nh th ny:
tcp 0 0 *:nrpe *:* LISTEN
Th dch v chy. Ngc li th nn xem li:

Mc nrpe thm vo tp /etc/services.

a ch IP c khai bo trong mc only_from ca tp /etc/xinetd.d/nrpe.

xinetd c ci t v khi ng hay cha.

Kim tra tp log ca h thng c thm thng tin.

Tip theo kim tra m bo rng cc chc nng ca NRPE daemon chy
ng:
/usr/local/nagios/libexec/check_nrpe H localhost
Bn s nhn c mt chui tr v thng bo phin bn ca NRPE c ci t,
v d:
NRPE v2.8
m bo rng tng la trn my cc b cho php NRPE daemon c th c
truy cp t server xa. lm iu ny chy lnh iptables. Ch rng tn RHFirewall-1-INPUT trong Fedora c th khc trong cc bn linux khc
iptables -I RH-Firewall-1-INPUT -p tcp -m tcp dport 5666 -j
ACCEPT
Lu li bng nh tuyn.
4.2.3 Ty chnh cc lnh NRPE
Tp cu hnh mu NRPE c ci t cha mt s lnh c nh ngha sn
c th dng gim st my . Bn c th sa cc nh ngha lnh v thm cc lnh
mi bng cch sa tp cu hnh NRPE:
vi /usr/local/nagios/etc/nrpe.cfg
Sau bn c th kim tra li s hp l ca cc lnh c nh ngha bng cch
s dng cc lnh sau:
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_users
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_load

63

/usr/local/nagios/libexec/check_nrpe -H localhost -c check_hda1


/usr/local/nagios/libexec/check_nrpe
check_total_procs

-H

localhost

-c

/usr/local/nagios/libexec/check_nrpe -H localhost -c
check_zombie_procs.

4.3 Ci t trn my gim st


Trn my gim st(Nagios) bn cn lm mt s vic

Ci t check_nrpe plugin.

To nh ngha lnh Nagios cho vic s dng check_nrpe plugin.

To nh ngha dch v v host c gim st.

Cc phn ny c ci t nu nh bn thc hin ci t Nagios ng nh


phn hng dn ci t Nagios. K c hai tp cu hnh mu l localhost.cfg v
commands.cfg.
4.3.1 Ci t check_nrpe plugin
Chuyn sang quyn root (Bn c th s dng lnh sudo -s vi Ubuntu):
su -l
To th mc lu m ngun ti v:
mkdir ~/downloads
cd ~/downloads
Ti v NRPE addon (vo trang http://www.nagios.org/download/ c thng tin
v phin bn mi nht). Ti thi im vit ti liu th phin bn mi nht ca NRPE l
2.8.
wget
2.8.tar.gz

http://osdn.dl.sourceforge.net/sourceforge/nagios/nrpe-

Gii nn m ngun NRPE:


tar xzf nrpe-2.8.tar.gz
cd nrpe-2.8
Bin dch NRPE addon.
./configure (thm tham s --disable-ssl nu khng mun dng kt ni an ton
ssl)
make all
Ci t NRPE plugin.
make install-plugin

64

m bo rng check_nrpe plugin c th lin lc vi NRPE daemon trn host


xa. Thay th a ch IP 192.169.0.1 trong lnh bn di thnh a ch IP ca host
xa m NRPE c ci :
/usr/local/nagios/libexec/check_nrpe -H 192.168.0.1
Nu ng, bn s nhn c mt chui tr v cho bit phin bn ca NRPE c
ci t trn my xa, v d nh:
NRPE v2.8
Nu plugin tr v li timeout, Th hy kim tra:
m bo rng khng c tng la ngn chn kt ni gia host xa v host

gim st

m bo rng NRPE deamon c ci t chnh xc trong xinetd

m bo rng tp quy tc tng la(iptables) trn my xa khng ngn


chc kt ni t my gin st n NRPE deamon.

4.3.2 To mt nh ngha lnh


Bn cn to mt nh ngha lnh trong mt trong nhng tp cu hnh Nagios
s dng check_nrpe plugin. M tp cu hnh mu commands.cfg:
vi /usr/local/nagios/etc/object/commands.cfg
Thm vo tp ny phn nh ngha nh bn di:
define command{
command_name
command_line

check_nrpe
$USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

}
By gi bn c th bt u thm cc dch v trn cc my xa c gim st.
4.3.3 nh ngha cc dch v
Tip theo, nh ngha mt s dch v cho vic gim st my Linux/Unix t xa.
Cc dch v ny c nh ngha trong tp cu hnh i tng Nagios nh ngha mt
host Linux/Unix xa c gim st. Cc v d nh ngha dch v s s dng nhng
lnh mu c nh ngha trong tp nrpe.cfg file ca host t xa. Dch v di y s
gim st ti CPU trn host t xa. Tham s "check_load" c t trong phn nh
ngha check_nrpe ch ra rng NRPE daemon chy lnh "check_load" c nh ngha
trong tp nrpe.cfg.
define service{
use generic-service
host_name remotehost
service_description CPU Load

65

check_command check_nrpe!check_load
}
Dch v di y s gim st s lng ngi dng ang ng nhp vo host t
xa.
define service{
use generic-service
host_name remotehost
service_description Current Users
check_command check_nrpe!check_users
}
Dch v di y s gim st khng gian a cn trng ca phn vng /dev/hda1
ca host t xa.
define service{
use generic-service
host_name remotehost
service_description /dev/hda1 Free Space
check_command check_nrpe!check_hda1
}
Dch v di y s gim st tng s tin trnh trn my t xa.
define service{
use generic-service
host_name remotehost
service_description Total Processes
check_command check_nrpe!check_total_procs
}
Dch v di y s gim st s lng tin trnh trng thi zombie trn host t
xa.
define service{
use generic-service
host_name remotehost
service_description Zombie Processes
check_command check_nrpe!check_zombie_procs
}

66

4.4. Ty chnh cu hnh


Phn ny s hng dn vic gim st cc dch v cn li bng Nagios. Bt c khi
no bn mun gim st mt dch v mi trn my t xa s dng NRPE addon, Bn
phi lm hai vic:

Thm mt nh ngha lnh mi vo tp nrpe.cfg file trn host t xa

Thm nh ngha dch v mi vo tp cu hnh host c gim st

Di y l v d cc bc cn phi thc hin khi mun gim st vic s dng


swap trn my Linux/Unix t xa:
4.4.1 Cu hnh host c gim st
Bn c th s dng check_swap plugin gim st vic s dng swap. Nu bn
ci t h thng theo ng nh ti liu nu th plugin ny c ci t.
/usr/local/nagios/libexec.
ng nhp vo ti khon Nagios trn host t xa.
Chy check_swap bng dng lnh v thm cc tham s ty chnh cnh bo
theo nhu cu. V d nu bn mun nhn c cnh bo khi swap cn trng di 10%
hoc khng gian b nh cn trng di 20% th bn c th g nh sau:
/usr/local/nagios/libexec/check_swap -w 20% -c 10%
lnh ny c thc thi th bn phi nh ngha trong tp nrpe.cfg
vi /usr/local/nagios/etc/nrpe.cfg
Thm nh ngha lnh check_swap vo bn di v lu tp li
command[check_swap]=/usr/local/nagios/libexec/check_swap -w
20% -c 10%
Nu bn chy NRPE daemon mt cch c lp th bn phi khi ng li n, nu
bn chy n trong inetd/xinetd th khng cn phi lm vic ny.
4.4.2 Cu hnh host Nagios
Trn host gim st, bn cn nh ngha mt dch v mi cho gim st vic s
dng swap trn my t xa. Thm mc bn di vo tp cu hnh i tng ca bn
define service{
use generic-service
host_name remotehost
service_description Swap Usage
check_command check_nrpe!check_swap
}

67

NRPE daemon s chy lnh check_swap c nh ngha trong tp nrpe.cfg trn


host t xa.
Tip theo, kim chng v khi ng li tp cu hnh nagios
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Khi ng li Nagios
By gi bn c th gim st dch v mi trn host xa s dng NRPE addon.

4.5. S dng Nagios


4.5.1. Kim chng cu hnh
Sau khi cu hnh Nagios bn nn kim chng li cu hnh bng lnh sau:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Nagios s a ra cnh bo nhng dng cu hnh li nu c.


5.2. chy Nagios

PH LC V
5.1 khi ng Nagios
1.

S dng Init Script:


/etc/rc.d/init.d/nagios start

2.

hoc dng Manually ca Nagios vi lnh sau:

/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
5.2.2 khi ng li Nagios

1.

Cch 1: dng Init Script:

/etc/rc.d/init.d/nagios reload

2.
Cch 2: qua giao din web,Click vo cc ng link ch dn Restart
the Nagios process.

3.

Cch 3: dng Manually ca Nagios:

kill -HUP <nagios_pid>

68

5.3 Tt Nagios
1.

Cch 1: dng Init Script:

/etc/rc.d/init.d/nagios stop

2.

Cch 2: qua giao din web, Click vo cc ng link ch dn stop.

3.

Cch 3: dng Manually ca Nagios

kill <nagios_pid>

5.3 Cc ni dung khc


tham kho document i km ca Nagios.

69

TI LIU THAM KHO


[1] Max Schubert, Nagios 3 Enterprise Network Monitoring Including Plug-Ins and
Hardware Devices, May 2008
[2] Wojciech Kocjan, Learning Nagios 3.0, Packt Publishing, October 2008
[3] Wolfgang Barth, Nagios System and Network Monitoring, No Starch Press, 2006
[4] http://nagios.org/
[5] http://community.nagios.org/
[6] http://www.monitoringexchange.org
[7] http://www.nagioswiki.org

70

You might also like