Professional Documents
Culture Documents
Chuyen D IT Monitoring TRIN KHAI H TH
Chuyen D IT Monitoring TRIN KHAI H TH
Chuyên đề IT Monitoring
MỤC LỤC
L I NÓI Đ U ................................................................................................................................ 3
V TÁC GI .................................................................................................................................. 4
1 Cài đ t Nagios trên CentOS .................................................................................................... 5
1.1 Yêu c u chuẩn bị .............................................................................................................. 5
1.2 Các bư c thực hiện ........................................................................................................... 5
2 Giám sát các máy Unix/Linux ................................................................................................ 7
2.1 Yêu c u chuẩn bị .............................................................................................................. 7
2.2 Các bư c thực hiện ........................................................................................................... 8
2.2.1 Thực hiện trên máy Linux/UNIX xa...................................................................... 8
2.2.2 Thực hiện trên máy Nagios ....................................................................................... 9
3 Ki m tra tr ng thái c a Oracle Database .............................................................................. 12
3.1 Yêu c u và chuẩn bị ....................................................................................................... 12
3.2 Các bư c thực hiện ......................................................................................................... 12
3.2.1 Thực hiện trên máy Oracle Database ...................................................................... 12
3.2.2 Thực hiện trên máy Nagios ..................................................................................... 12
4 G i thông báo qua SMS b ng USB 3G ................................................................................ 13
4.1 Yêu c u chuẩn bị ............................................................................................................ 14
4.2 Các bư c thực hiện ......................................................................................................... 14
4.2.1 K t nối USB 3G t i máy Nagios ............................................................................ 14
4.2.2 Biên dịch và cài đ t Gammu ................................................................................... 14
4.2.3 C u hình Gammu đ g i SMS ................................................................................ 15
4.2.4 C u hình Nagios đ g i SMS theo nhóm................................................................ 16
5 G i thông báo qua email v i SendEmail .............................................................................. 18
5.1 Các bư c thực hiện ......................................................................................................... 18
L I NÓI Đ U
Ngày nay, hệ thống giám sát đóng m t vai trò quan trọng giúp theo dõi, ki m tra sức khỏe, cung
c p thông tin và đưa ra c nh báo khi có v n đ x y ra v i các thành ph n trong h t ng, ứng d ng
công nghệ thông tin c a tổ chức. M t hệ thống giám sát tốt c n có kh năng phát hiện nhanh
chóng và chính xác những sự cố x y ra và kịp th i g i thông báo qua nhi u phương tiện như màn
hình, email, tin nh n t i ngư i qu n trị hệ thống.
Nh m đáp ứng nhu c u thực t c a nhi u tổ chức và doanh nghiệp trong việc giám sát và c nh
báo kịp th i tình tr ng c a hệ thống, tài liệu này sẽ đi vào tìm hi u và c u hình tính năng g i
thông báo c a Nagios qua email và qua SMS s d ng thi t bị USB 3G làm modem. Ngoài ra, tài
liệu còn cung c p thêm hư ng dẫn giúp ki m tra tr ng thái up/down c a Oracle Database và máy
Unix/Linux s d ng các plugin c a Nagios. Riêng việc thực hiện c nh báo qua SMS đã được tác
gi thực hiện thành công trên c môi trư ng o hóa lẫn máy ch thực và bư c đ u làm việc tốt
v i thi t bị D-Com 3G c a Viettel.
Tài liệu thích hợp v i các qu n trị viên đã làm quen v i hệ đi u hành Linux và có ki n thức cơ
b n v công c giám sát m ng Nagios. Dù đã th nghiệm kỹ lưỡng nhưng có th vẫn còn thi u
sót nên tác gi r t mong nhận được ph n hồi tích cực t mọi ngư i.
V TÁC GI
Mẫn Th ng hiện đang là Kỹ sư Hệ thống t i Phòng B o mật và Tích hợp thu c Công ty Cổ ph n
Tin học L c Tiên, v i chuyên môn là các gi i pháp ứng d ng, tích hợp trên n n mã nguồn m và
các dịch v tư v n, thi t k hệ thống, h t ng CNTT theo hư ng b o mật, đánh giá và kh c ph c
lỗ hổng v an ninh thông tin cho các tổ chức và doanh nghiệp. Ngoài gi làm, tác gi còn thích
chia sẻ, trao đổi v i c ng đồng v các tin tức, bài vi t nổi bật trong lĩnh vực an toàn thông tin t i
Blog (https://manthang.wordpress.com) và Fanpage (https://www.facebook.com/vninfosec).
V L C TIÊN JSC
Được thành lập vào tháng 10 năm 2008, v i đ i ngũ các kỹ sư tốt nghiệp ngành CNTT t các
trư ng hàng đ u Việt Nam và Th y Sĩ, hiện nay L c Tiên là nhà cung c p chuyên nghiệp các
gi i pháp ph n m m qu n trị doanh nghiệp trên môi trư ng Internet (CRM, HRM, Project
Management, Collaboration, Groupware, Portal,ầ), các thi t bị b o mật (UTM, RAD – Remote
Access Device, Wireless Access Controller), các gi i pháp tích hợp trên n n mã nguồn m và
các dịch v tư v n, thi t k hệ thống, h t ng CNTT theo hư ng b o mật. Đ c biệt, L c Tiên là
đơn vị đ u tiên trong nư c s n xu t thành công thi t bị b o mật tích hợp RexShield UTM v i
các tính năng như: tư ng l a, qu n trị ngư i dùng, lọc n i dung, chống th t thoát dữ liệu...
# yum install httpd php perl gcc glibc glibc-common gd gd-devel
T i gói mã nguồn m i nh t c a Nagios Core 3.4.1 và Nagios Plugins 1.4.15 t i 2 URL sau:
http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.1.tar.gz
http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
M t số giai đo n cài đ t c n quy n root (có d u # đ ng trư c câu lệnh).
# make install-config
# make install-commandmode
5. Kh i ch y Nagios
- Thêm Nagios vào danh sách các system service và tự đ ng kh i đ ng cùng hệ thống
# chkconfig --add nagios
# chkconfig nagios on
- Xác nhận các các tập tin c u hình cho Nagios đang làm việc đúng
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
- N u không có lỗi gì thì kích ho t Nagios
# service nagios start
Khi máy Nagios c n ki m tra các tài nguyên/dịch v trên máy Linux/Unix xa:
Nagios sẽ thực thi plugin check_nrpe và cho bi t tài nguyên/dịch v nào c n ki m tra
Plugin check_nrpe sẽ liên l c v i daemon NRPE trên máy xa. Kênh liên l c có th được
b o vệ b ng SSL
Daemon NRPE sẽ ch y các plugin thích hợp (như check_disk, check_load, check_http, v.v..)
đ check các tài nguyên/dịch v được yêu c u
NRPE daemon truy n k t qu cho check_nrpe, sau đó plugin này tr k t qu l i cho Nagios
Lưu Ủ, NRPE daemon yêu c u các Nagios plugin c n được cài đ t trên các máy Linux/Unix xa.
4. Cài đ t xinetd
# yum install xinetd
Như vậy là xong ph n cài đ t và c u hình NRPE cho máy Linux/Unix c n giám sát.
Lưu Ủ có th firewall trên máy Nagios ho c firewall giữa nó v i máy xa c n tr việc liên
l c. Lúc này c n đi u chỉnh l i rule cho thích hợp.
define command{
command_name check_nrpe
command_line #USER1#/check_nrpe -H #HOSTADDRESS# -c #ARG1#
}
K ti p, ta sẽ thêm vào c u hình c a Nagios các tài nguyên, dịch v c n được giám sát trên
máy xa
Dư i đây là n i dung mẫu, tùy nhu c u mà thay đổi các m c cho thích hợp:
define host{
name linux-box
use generic-host
check_period 24×7
check_interval 5
retry_interval 1
max_check_attempts 3
check_command check-host-alive
notification_period 24×7
notification_interval 30
notification_options d,r
contact_groups admins
register 0
}
- Sau đó, t o m i m t object definition cho máy c n giám sát và definition cho các tài nguyên,
dịch v ch y trên máy đó. đây l y tên tập tin là centos.cfg:
# vi /usr/local/nagios/etc/objects/centos.cfg
Dư i đây là n i dung mẫu, tùy nhu c u mà thay đổi các m c cho thích hợp:
define host{
use linux-box
host_name centos-vm
define service{
use generic-service
host_name centos-vm
service_description CPU Load
check_command check_nrpe!check_load
define service{
use generic-service
host_name centos-vm
service_description Current Users
check_command check_nrpe!check_users
define service{
use generic-service
host_name centos-vm
service_description Total Processes
check_command check_nrpe!check_total_procs
}
Ngoài 3 tài nguyên cơ b n trên là: CPU Load, Current Users, Total Processes, ta có th
giám sát thêm nhi u dịch v khác như SSH, HTTP, v.v..
- Cuối cùng, thêm 2 object trên vào tập tin c u hình chính c a Nagios b ng cách m tập tin
/usr/local/nagios/etc/nagios.cfg và thêm vào 2 dòng sau:
cfg_file=/usr/local/nagios/etc/objects/linux.cfg
cfg_file=/usr/local/nagios/etc/objects/centos.cfg
define host{
use linux-server
host_name oracle-db
alias Oracle DB 11g
address 192.168.1.14
}
2. Thêm object trên vào tập tin c u hình chính c a Nagios b ng cách m tập tin
/usr/local/nagios/etc/nagios.cfg và thêm vào dòng sau:
cfg_file=/usr/local/nagios/etc/objects/oracle.cfg
Các ph n ti p theo sẽ gi i trình các bư c đ thực hiện cài đ t, c u hình và vận hành hệ thống
c nh báo qua SMS này.
- N u output trống rỗng thì c n thêm gói usb_modeswitch. Trình tự cài đ t như sau:
# tar jxf usb-modeswitch-data-20120531.tar.bz2
# cd usb-modeswitch-data-20120531
# make install
# tar jxf usb-modeswitch-1.2.3.tar.bz2
# cd usb-modeswitch-1.2.3
# make install
Ngoài ra còn có 2 lệnh sau đ theo dõi ho t đ ng c a thi t bị cũng như thông tin v m ng di
đ ng:
# gammu –-monitor
# gammu –-networkinfo
- Nagios ch y v i quy n c a user nagios, vậy nên n u muốn Nagios g i được SMS thì user
nagios ph i có quy n truy cập t i các tập tin device, config và binary c a Gammu. Ch y các
lệnh sau đ gán các quy n thích hợp đó cho user nagios:
# cp /etc/gammurc /home/nagios/.gammurc
# chown nagios.nagios /home/nagios/.gammurc
# chmod 4755 /usr/bin/gammu
# usermod -a -G dialout nagios
N u số điện tho i trong câu lệnh trên nhận được thông điệp ắtest SMS nagiosẰ thì việc c u
hình đ Gammu g i đi SMS đã thành công. Ti p theo sẽ c u hình cho Nagios.
- Đ u tiên, c n thêm vào 2 câu lệnh đ thực hiện việc g i SMS t i các số điện tho i c a các
contact được định nghĩa trong tập tin contacts.cfg. M tập tin
/usr/local/nagios/etc/objects/commands.cfg và bổ sung n i dung mẫu sau:
# 'notify-host-by-sms' command definition
define command{
command_name notify-host-by-sms
command_line /usr/bin/printf "%b" "*** Nagios ***\n Notification Type:
$NOTIFICATIONTYPE$\n Host: $HOSTNAME$\n State: $HOSTSTATE$\n Address:
$HOSTADDRESS$\n Info: $HOSTOUTPUT$\n Date/Time: $LONGDATETIME$" |
/usr/local/bin/gammu --sendsms TEXT $CONTACTPAGER$
}
# 'notify-service-by-sms' command definition
define command{
command_name notify-service-by-sms
command_line /usr/bin/printf "%b" "*** Nagios ***\n Notification Type:
$NOTIFICATIONTYPE$\n Service: $SERVICEDESC$\n Host: $HOSTALIAS$\n Address:
$HOSTADDRESS$\n State: $SERVICESTATE$\n Date/Time: $LONGDATETIME$\n Additional
Info: $SERVICEOUTPUT$" | /usr/local/bin/gammu --sendsms TEXT $CONTACTPAGER$
- Sau đó, tùy chỉnh l i mẫu generic-contact mà Nagios cung c p s n sau khi cài đ t đ các
contact được t o bư c sau sẽ nhận được thông báo qua SMS. M tập tin
/usr/local/nagios/etc/objects/templates.cfg và s a m c generic-contact như sau:
define contact{
name generic-contact
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-service-by-sms,notify-service-by-
email
host_notification_commands notify-service-by-sms,notify-host-by-email
register 0
}
- Ti p đ n, thêm m i các contact cho những ngư i muốn nhận thông báo qua email và SMS t
Nagios. M tập tin /usr/local/nagios/etc/objects/contacts.cfg và bổ sung n i dung
mẫu sau:
define contact{
contact_name manthang
use generic-contact
alias Thang Man (Sysadmin)
email manthang@gmail.com
pager +84983xxxxxx //thay bằng sđt thực
}
define contact{
contact_name hoangbao
use generic-contact
alias Bao Hoang (Database)
email hoangbao@gmail.com
pager +84123xxxxxx //thay bằng sđt thực
}
- Gi ta sẽ gom nhóm các contact đ g i các thông báo thích hợp. Ví d , các thông báo liên
quan t i thi t bị m ng chỉ được g i t i nhóm network, thông báo liên quan t i máy ch sẽ
được g i t i nhóm system, thông báo liên quan t i CSDL thì g i t i nhóm database, v.vầ
Cũng trong tập tin contacts.cfg trên, t o thêm các contactgroup theo mẫu sau:
define contactgroup{
contactgroup_name db-admins
alias Database Administrators
members hoangbao,manthang
}
define contactgroup{
contactgroup_name unix-admins
alias Linux System Administrator
members manthang
}
- Việc khai báo các contact trên không có nghĩa là họ sẽ nhận được thông báo mà ta c n liên
k t các contactgroup t i m t dịch v ho c máy tính nào đó c n giám sát. Ví d , trong thư
2. T i v SendMail t i:
http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
4. C p thêm quy n excute và đổi owner thành user nagios cho tập tin trên
# chmod +x /usr/local/bin/SendMail
# chown nagios.nagios /usr/local/bin/SendEmail
define command{
command_name notify-host-by-email
define command{
command_name notify-service-by-email
8. Kh i đ ng l i service nagios
# service nagios restart