Đối tượng và phạm vi Hệ thống giám sát mạng được triển khai trong trường Đại học Bách Khoa - Hà Nội và có thể áp dụng được tất cả các tổ chức, các cơ quan, các doanh nghiệp đã, đang và
Trang 1LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này là những kết quả nghiên cứu của chính bản thân Các
nghiên cứu trong luận văn này dựa trên những tổng hợp lý thuyết và hiểu biết thực tế,
không sao chép
Tác giả
Đặng Đức Duy
Trang 2LỜI CẢM ƠN
Trong lời đầu tiên của luận văn tốt nghiệp “Tìm hiểu, triển khai ứng dụng
NagVis trong hệ thống giám sát mạng trên nền tảng mã nguồn mở Nagios”, tôi
muốn gửi những lời cảm ơn chân thành nhất đến tất cả những người đã hỗ trợ, giúp đỡ
tôi về chuyên môn, vật chất và tinh thần trong suốt quá trình thực hiện luận văn
Trước hết, tôi xin chân thành cảm ơn thầy giáo PGS.TS Ngô Hồng Sơn đã trực
tiếp hướng dẫn , giúp đỡ tôi trong quá trình nghiên cứu hoàn thành luận văn này
Xin cảm ơn các thầy, cô Viện Công nghệ thông tin và Truyền thông đã giảng dạy,
truyền thụ kiến thức cho tôi trong suốt quá trình học tập
Xin được gửi lời cảm ơn chân thành đến Viện Đào tạo Sau Đại học, Viện đã tạo
điều kiện hết sức thuận lợi trong quá trình học tập của học viên nói riêng và lớp
TTMMT - 2014B nói chung
Cho phép tôi gửi lời cảm ơn đến Ban giám đốc và các anh chị em đồng nghiệp tại
Trung tâm Mạng Thông Tin - Đại học Bách Khoa Hà Nội, nơi tôi đang công tác đã
tích cực tham gia vào các thử nghiệm, tìm hiểu hệ thống và tạo điều kiện để tôi được
thử nghiệm các giải pháp liên quan đến đề tài
Cuối cùng, tôi xin bày tỏ lòng biết ơn đến gia đình và bạn bè đã giúp đỡ, động viên
tôi rất nhiều trong suốt quá trình học tập và làm luận văn tốt nghiệp
Trong khuôn khổ của luận văn không tránh khỏi những thiếu sót nhất định tôi rất
mong nhận được sự đóng góp ý kiến của thầy cô giáo và các bạn
Hà nội, ngày 25 tháng 10 năm 2016
Học viên
Trang 3MỤC LỤC
DANH MỤC CÁC BẢNG 5
DANH MỤC CÁC HÌNH VẼ 6
DANH SÁCH THUẬT NGỮ VIẾT TẮT 9
MỞ ĐẦU 11
1 Tính cấp thiết của đề tài 10
2 Mục tiêu và nhiệm vụ của luận văn 10
3 Đối tượng và phạm vi 11
4 Kết quả đạt được 11
CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG GIÁM SÁT, NAGIOS VÀ PLUGIN ADD-ON NAGVIS 12
1 Tổng quan về hệ thống giám sát 12
2 Giao thức quản trị mạng SNMP 17
3 Tổng quan về Nagios 20
4 Plugin add-on NagVis 26
TỔNG KẾT CHƯƠNG 1 32
CHƯƠNG 2: XÂY DỰNG MÔ HÌNH GIÁM SÁT CHO MỘT MẠNG CAMPUS 33
1 Khảo sát hiện trạng hệ thống mạng campus trường ĐHBKHN 33
2 Cơ sở vật chất 34
3 Các dịch vụ mạng cơ bản 35
4 Những bất cập và khó khăn trong công tác quản trị mạng 36
Trang 45 Đề xuất mô hình hệ thống giám sát mạng 42
6 Các chức năng của hệ thống giám sát mạng Nagios, add-on NagVis 43
TỔNG KẾT CHƯƠNG 2 44
CHƯƠNG 3 CÀI ĐẶT VÀ THỬ NGHIỆM 45
1 Sơ đồ vật lý triển khai 45
2 Kịch bản thử nghiệm 47
3 Kết quả thử nghiệm 49
TỔNG KẾT CHƯƠNG 3 67
CHƯƠNG 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 68
TÀI LIỆU THAM KHẢO 70
Trang 5DANH MỤC CÁC BẢNG
Bảng 1 Một số thông tin thiết bị cần giám sát 15
Bảng 2 Danh mục thiết bị mạng được giám sát 48
Bảng 3: Các sơ đồ mạng được triển khai trên NagVis 61
Trang 6DANH MỤC CÁC HÌNH VẼ
CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG GIÁM SÁT, NAGIOS VÀ PLUGIN
ADD-ON NAGVIS 12
Hình 1: Giao thức quản trị mạng SNMP 19
Hình 2: Cộng đồng SNMP 20
Hình 3 Sơ đồ tổ chức của Nagios 23
Hình 4 Các cách thức thực hiện kiểm tra 25
Hình 5: Sơ đồ một mạng Local của một chi nhánh công ty 28
CHƯƠNG 2: XÂY DỰNG MÔ HÌNH GIÁM SÁT CHO MỘT MẠNG CAMPUS 33
Hình 1 Sơ đồ tổng thể mạng trường ĐHBK-HN 33
Hình 2 Sơ đồ kết nối mạng phân cấp 3 lớp chuẩn 37
Hình 3 Sơ đồ kết nối mạng phân cấp mở rộng 39
Hình 4 Sơ đồ kết nối tạm thời 41
Hình 5 Mô hình giám sát mạng Nagios, NagVis 42
CHƯƠNG 3 CÀI ĐẶT VÀ THỬ NGHIỆM 45
Hình 1 Sơ đồ vật lý triển khai hệ thống giám sát 45
Hình 2 Trang tổng quan Nagios Core 46
Hình 3 Trang tổng quan NagVis 47
Hình 4 Sơ đồ vật lý tổng quan quản lý thiết bị mạng 50
Hình 5 Kiểm tra giao thức ICMP tới thiết bị mạng cần giám sát 51
Hình 6 Định nghĩa thông tin host cần giám sát 51
Trang 7Hình 8 Thông tin trạng thái các thiết bị mạng được giám sát 52
Hình 9 Tập hợp các group thiết bị mạng 53
Hình 10 Định nghĩa host 54
Hình 11 Định nghĩa dịch vụ giám sát 54
Hình 12 Thông tin trạng thái các server web 54
Hình 13 Cảnh báo trạng thái Up/Down của thiết bị được theo dõi 55
Hình 14 Host Down 56
Hình 15 Host Up 56
Hình 16 Thông tin người quản trị nhận email thông báo 57
Hình 17 Định nghĩa ngày giờ thông báo, các loại dịch vụ cần thông báo 57
Hình 18 Email thông báo thiết bị down 58
Hình 19 Email thông báo thiết bị trở về trạng thái recovery 59
Hình 20 Đăng nhập vào hệ thống 59
Hình 21 Thông tin tổng quan và trạng thái hoạt động của các sơ đồ giám sát 60
Hình 22 Trạng thái vật lý của hệ thống mail, web Hust 61
Hình 23 Hệ thống đường cáp quang trong trường và trạng thái tại các điểm phân phối cáp quang 62
Hình 24 Giám sát các thiết bị mạng và server trong tủ Rack 63
Hình 25 Sơ đồ giám sát vùng DMZ 63
Hình 26 Các tham số thống kê của thiết bị 64
Hình 27 Các tham số thống kê của thiết bị theo thời gian 65
Hình 28 Thống kê băng thông sử dụng của thiết bị 66
Hình 29 Băng thông sử dụng toàn hệ thống mạng qua thiết bị router 66
Trang 8DANH SÁCH THUẬT NGỮ VÀ VIẾT TẮT
CPU Central Processing Unit
CGI Common Gateway Interface
CLI Command Line Interface
CMIS Common Management Information Services
CSDL Cơ Sở Dữ Liệu
DHCP Dynamic Host Configuration Protocol
DMZ Data Management Zone
DNS Domain Name Service
FTP File Transfer Protocol
GUI Graphical User Interface
HTML HyperText Markup Language
HTTP HyperText Transfer Protocol
ICMP Internet Control Message Protocol
IMAP Internet Message Access Protocol
IP Internet Protocol
Trang 9NMS Network Management System
PING Packet Internet Groper
PDU Protocol Data Unit
POP Post Office Protocol
SMI Structure of Management Information
SMTP Simple Mail Transfer Protocol
SNMP Simple Network Management Protocol
SSH Secure Shell
TCP Transmission Control Protocol
UDP User Datagram Protocol
URL Uniform Resource Locator
VLAN Virtual Local Area Network
VPN Virtual Private Network
WWW World Wide Web
Trang 10MỞ ĐẦU
1 Tính cấp thiết của đề tài
Ngày nay, các tổ chức doanh nghiệp đều có cơ sở hạ tầng thông tin riêng của
mình với quy mô và cách tổ chức khác nhau Với các tổ chức có hạ tầng mạng riêng,
có hệ thống giám sát đối với hạ tầng đó là cần thiết, giúp tiết kiệm chi phí, tăng hiệu
suất mạng, tăng năng suất lao động và giảm chi phí cơ sở hạ tầng Một hệ thống giám
sát theo dõi hạ tầng một mạng nội bộ để xác định nhanh chóng các vấn đề có thể xảy
ra, hỗ trợ, tìm kiếm và giúp giải quyết các sự cố của các thiết bị và hệ thống
Chính vì hạ tầng mạng là một nguồn tài nguyên quan trọng nên việc đảm bảo
cho tài nguyên này có thể hoạt động liên tục là một vấn đề thiết yếu Đây cũng là một
thách thức bởi có rất nhiều mối nguy cơ tiềm tàng như hackers tấn công từ chối dịch
vụ, virus, mất cắp thông tin đe dọa đến hệ thống của tổ chức dẫn tới việc hệ thống
ngưng hoạt động, mất dữ liệu làm giảm độ tin cậy cũng như lợi ích thu được từ hệ
thống Ngoài ra, các hệ thống mạng ngày nay càng phát triển mạnh, với các công nghệ
mới, thiết bị mới, nên việc đảm bảo cho hệ thống hoạt động một cách trôi chảy là vô
cùng khó khăn và quan trọng
Là người quản trị thì cần phải biết những gì đang sảy ra trên hệ thống của mình
vào mọi lúc, bao gồm thời gian thực Nắm bắt mọi thông tin lịch sử về sử dụng, hiệu
suất, và tình trạng của tất cả các ứng dụng, thiết bị, và tất cả dữ liệu trên mạng Chính
vì vậy việc giám sát hệ thống là một công việc vô cùng quan trọng và cấp thiết đối với
các tổ chức, doanh nghiệp, cơ quan
2 Mục tiêu và nhiệm vụ của luận văn
Mục tiêu của luận văn là: Đưa ra giải pháp giám sát tối ưu cho một hệ thống
tích hợp ứng dụng plugin NagVis áp dụng vào hệ thống mạng campus trường
Trang 11ĐHBK-HN Hướng tiếp cận là tìm hiểu hệ thống giám sát hệ thống mạng bằng phần mềm mã
nguồn mở, sau đó triển khai áp dụng vào hệ thống mạng trường
Các nhiệm vụ cụ thể là: Tìm hiểu giao thức quản lý mạng, tìm hiểu về hệ
thống giám sát mạng Nagios và tích hợp Plugin NagVis, triển khai mô hình giám sát
mạng thực tế
Ngoài việc giám sát các thiết bị vật lý như: Server, router, switch, máy trạm
Hệ thống còn giám sát các dịch vụ máy chủ như: Web, mail đang được sử dụng
trong trường
3 Đối tượng và phạm vi
Hệ thống giám sát mạng được triển khai trong trường Đại học Bách Khoa - Hà
Nội và có thể áp dụng được tất cả các tổ chức, các cơ quan, các doanh nghiệp đã, đang
và sẽ áp dụng công nghệ thông tin cho các hoạt động của mình
Trong khuôn khổ luận văn sẽ giới hạn tìm hiểu về hệ thống Nagios và ứng dụng
Plugin Nagvis, từ đó triển khai hệ thống giám sát Nagios Core và tích hợp Plugin
NagVis
Mô hình sử dụng được tham khảo hệ thống mạng trường Đại học Bách Khoa -
Hà Nội theo sơ đồ vật lý trong hệ thống giám sát
4 Kết quả đạt được
Tổng hợp các kiến thức về hệ thống giám sát, các giao thức quản lý mạng
Triển khai thành công hệ thống giám sát bằng phần mềm mã nguồn mởi Nagios
và NagVis
Cấu hình các thiết bị mạng để hệ thống giám sát truy xuất được các thông tin
cần giám sát
Trang 12CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG GIÁM SÁT, NAGIOS VÀ PLUGIN
ADD-ON NAGVIS
1 Tổng quan về hệ thống giám sát
Khoảng 10 năm trở lại đây, thế giới đã chứng kiến sự phát triển bùng nổ của các
mạng máy tính và Internet Các mạng máy tính ngày nay rất phức tạp, chia thành hai
phần chính:
Hạ tầng: với hàng loạt thiết bị có chức năng khác nhau như switch, router,
firewall, … từ các hãng khác nhau như Cisco, Nortel, Extreme, HP, Alcatel-Lucent, …
kết nối với nhau theo một số cấu trúc nhất định
Các dịch vụ : Web, Email, VoIP, FTP, … hoạt động trên hạ tầng mạng ngày
càng đa dạng
Quản lý mạng là một lĩnh vực rộng tích hợp các chức năng giám sát thiết bị,
quản lý ứng dụng, an ninh, bảo trì, dịch vụ, xử lý sự cố, và các nhiệm vụ khác – sẽ là lý
tưởng nếu tất cả các công việc được điều phối và giám sát bởi một quản trị viên mạng
đáng tin cậy và có kinh nghiệm Tuy nhiên, ngay cả những quản trị mạng có khả năng
hiểu biết nhất chỉ có được các thông tin về hệ thống mà có thể nhìn thấy Quản trị viên
cần phải biết những gì đang xảy ra trên mạng của họ vào mọi lúc, bao gồm thời gian
thực và thông tin lịch sử về sử dụng, hiệu suất, và tình trạng của tất cả các ứng dụng,
thiết bị, và tất cả dữ liệu trên mạng
Đây là lĩnh vực giám sát mạng, là chức năng quan trọng nhất trong quản lý
mạng Cách duy nhất để biết được tất cả mọi thứ trên mạng đang hoạt động như thế
nào là phải giám sát nó liên tục
Trang 13Hiểu biết về hệ thống
Hệ thống mạng trên thế giới tương đối phức tạp Các thiết bị như: router, switch,
hub đã kết nối vô số các máy con đến các dịch vụ trên máy chủ cũng như ra ngoài
Internet Thêm vào đó là rất nhiều các tiện ích bảo mật và truyền thông được cài đặt
bao gồm cả tường lửa, mạng riêng ảo, các dịch vụ chống spam thư và virus Sự hiểu
biết về cấu trúc của hệ thống cũng như có được khả năng cảnh báo về hệ thống là một
yếu tố quan trọng trong việc duy trì hiệu suất cũng như tính toàn vẹn của hệ thống Có
hàng ngàn khả năng có thể xảy ra đối với một hệ thống và quản trị viên phải đảm bảo
được rằng các nguy cơ xảy ra được thông báo một cách kịp thời và chính sát
Hệ thống mạng không còn là một cấu trúc cục bộ riêng rẽ Nó bao gồm Internet,
mạng cục bộ (LAN), mạng diện rộng (WAN), và tất cả các thiết bị, máy chủ, ứng dụng
chạy trên hệ thống đó Dù cho phép người dùng truy cập và chia sẻ thông tin, sử dụng
các ứng dụng, và giao tiếp với nhau và với thế giới bên ngoài – bao gồm cả giọng nói,
dữ liệu, hoặc hình ảnh – thì về bản chất vẫn là mạng lưới hệ thống
Một hệ thống mạng thường có người dùng bên trong và bên ngoài, bao gồm
nhân viên, khách hàng, đối tác và các bên liên quan Tối ưu hiệu suất mạng ảnh hưởng
đến tổ chức theo các cách khác nhau Ví dụ, nếu nhân viên không thể truy cập các ứng
dụng và thông tin mà họ cần dùng để làm việc thì sẽ ảnh hưởng đến năng suất công
việc Hoặc khi khách hàng không thể hoàn thành giao dịch trực tuyến, điều này có
nghĩa là mất doanh thu và ảnh hưởng tới uy tín của tổ chức Ngay cả khi các bên liên
quan như các nhà đầu tư không thể tìm kiếm, xem xét các thông tin của tổ chức cũng
gây ảnh hưởng tới tổ chức
Thực tế là mạng rất phức tạp và hay có sự cố vì mỗi thành phần trong mạng đại
diện cho một nguy cơ ảnh hưởng đến hệ thống Đó cũng là lý do tại sao nó cần thiết
phải được giám sát để giảm thiểu tối đa các nguy cơ tiềm tàng Tuy nhiên không phải
Trang 14mọi vấn đề đều có thể được giải quyết một cách chủ động trước bất kỳ dấu hiệu cảnh
báo nào Nhưng nếu ta có thể giám sát hệ thống trong thời gian thực thì có thể xác định
các vấn đề trước khi chúng trở nên nguy hiểm hơn Ví dụ, một máy chủ bị quá tải có
thể được thay thế trước khi nó bị treo Điều này sẽ làm giảm thiểu các nguy cơ đối với
hệ thống và tăng hiệu suất làm việc của hệ thống Với một hệ thống giám sát, ta sẽ biết
được tình trạng của tất cả các thiết bị trên mạng mà không cần phải kiểm tra một cách
cụ thể từng thiết bị và cũng nhanh chóng xác định chính xác vấn đề khi cần thiết
Cần phải giám sát những gì và tại sao
Đối với một hệ thống mạng, điều quan trọng là có được thông tin chính xác vào
đúng thời điểm Tầm quan trọng chính là nắm bắt thông tin trạng thái của thiết bị vào
thời điểm hiện tại, cũng như biết được thông tin về các dịch vụ, ứng dụng của hệ thống
Bảng 1 sau đây chứa các đại diện của một vài thông tin trạng thái hệ thống mà
ta phải biết và lý do tại sao
Các thiết bị và lý do cần giám sát
Khi có sự cố xảy ra, ta cần phải được cảnh báo ngay lập tức, hoặc thông qua các
cảnh báo bằng âm thanh, qua màn hình hiển thị, qua email tự động được tạo ra bởi
chương trình giám sát Ta biết càng sớm những gì đang diễn ra và có càng nhiều các
thông tin đầy đủ trong các cảnh báo thì càng sớm có thể khắc phục các sự cố đó
Biết được những gì đang xảy ra trên hệ thống: giải pháp giám sát hệ thống cho
phép được thông báo tình trạng hoạt động cũng như tài nguyên của hệ thống Nếu
không có những chức năng này ta phải đợi đến khi người dùng thông báo Lên kế
hoạch cho việc nâng cấp, sửa chữa: nếu một thiết bị ngưng hoạt động một cách thường
xuyên hay băng thông mạng gần chạm tới ngưỡng thì lúc này cần phải có sự thay đổi
Trang 15Cần giám sát gì Tại sao
Tính sẵn sàng của các thiết bị (router,
switch, server,…)
Đây là những thành phần chủ chốt giữ cho mạng hoạt động
Dung lượng đĩa còn trống trên máy chủ
Các ứng dụng đòi hỏi dung lượng đĩa
Chính vì vậy cần giám sát thông tin này
để có thể xử lý kịp thời không ảnh hưởng tới các ứng dụng quan trọng
Phần trăm trung bình mức tải của các
router
Cần nâng cấp hệ thống trước khi xảy ra quá tải dẫn tới ảnh hưởng hệ thống
Mức trung bình tải của bộ nhớ và bộ xử
lý trên các máy chủ quan trọng
Lượng dữ liệu vào và ra của router Cần xác định chính xác thông tin lượng
dữ liệu để tránh quá tải hệ thống
Các sự kiện được viết ra log như
WinEvent or Syslog
Có thể thu được thông tin chính xác các hiện tượng xảy ra trong hệ thống
SNMP traps như là nhiệt độ trong
phòng máy chủ hay thông tin máy in
Ta có thể biết được thông tin về máy in
bị hư hỏng hay cần thay mực trước khi được người dùng báo cũng như đảm bảo máy chủ không bị quá nóng
Bảng 1 Một số thông tin thiết bị cần giám sát
những thay đổi khi cần thiết
Trang 16Chẩn đoán các vấn đề một cách nhanh chóng: giả sử máy chủ của ta không thể
kết nối tới được, nếu không có hệ thống giám sát ta không thể biết được nguyên nhân
từ đâu, máy chủ hay router hay cũng có thể là switch Nếu biết được chính xác vấn đề
ta có thể giải quyết một cách nhanh chóng Xem xét những gì đang hoạt động: các báo
cáo bằng đồ họa có thể giải thích tình trạng hoạt động của hệ thống Đó là những công
cụ rất tiện lợi phục vụ cho quá trình giám sát Biết được khi nào cần áp dụng các giải
pháp sao lưu phục hồi: với đủ các cảnh báo cần thiết ta nên sao lưu dữ liệu của hệ
thống phòng trường hợp hệ thống có thể bị hư hại bất kì lúc nào Nếu không có hệ
thống giám sát ta không thể biết có vấn đề xảy ra khi đã quá trễ
Đảm bảo hệ thống bảo mật hoạt động tốt: các tổ chức tốn rất nhiều tiền cho hệ
thống bảo mật Nếu không có hệ thống giám sát ta không thể biết hệ thống bảo mật của
ta có hoạt động như mong đợi hay không Theo dõi hoạt động của các tài nguyên dịch
vụ trên hệ thống: hệ thống giám sát có thể cung cấp thông tin tình trạng các dịch vụ
trện hệ thống, đảm bảo người dùng có thể kết nối đến nguồn dữ liệu Được thông báo
về tình trạng của hệ thống ở khắp mọi nơi: rất nhiều các úng dụng giám sát cung cấp
khả năng giám sát và thông báo từ xa chỉ cần có kết nối Internet
Đảm bảo hệ thống hoạt động liên tục: nếu tổ chức của ta phụ thuộc nhiều vào hệ
thống mạng, thì tốt nhất là người quản trị cần phải biết và xử lý các vấn đề trước khi sự
cố nghiêm trọng xảy ra Tiết kiệm tiền: với tất cả các lý do ở trên, ta có thể giảm thiểu
tối đa thời gian hệ thống ngưng hoạt động, làm ảnh hưởng tới lợi nhuận của tổ chức và
tiết kiệm tiền cho việc điều tra khi có sự cố xảy ra
Những yếu tố cần thiết cho một hệ thống giám sát
Để hiểu được về hệ thống, ta cần một giải pháp giám sát để có thể cung cấp các
thông tin quan trọng trong thời gian thực và ở bất cứ đâu cũng như bất cứ thời điểm
Trang 17dụng Cần một giải pháp với khả năng toàn diện và đáng tin cậy Nếu một doanh
nghiệp yêu cầu tính sẵn sàng cao, thì ta cần một giải pháp tin cậy đã được triển khai và
chứng minh là hoạt động tốt
Chúng ta cần giám sát rất nhiều thiết bị trên hệ thống và phải thu thập rất nhiều
thông tin liên quan Chính vì vậy cần một giải pháp hiển thị thông như bản đồ mạng,
báo cáo dữ liệu, cảnh báo, sự cố Bên cạnh việc xử lý sự cố dễ dàng hơn, điều này sẽ
giúp ta tận dụng mạng lưới dữ liệu để hiểu được các xu hướng trong việc sử dụng thiết
bị, sử dụng mạng, và dung lượng mạng tổng thể để thiết kế hiệu quả mạng lưới hệ
thống
Cảnh báo là một phần rất quan trọng nhưng cũng cần có những cảnh báo chính
xác vào những thời điểm thích hợp Hệ thống giám sát cần có khả năng truy cập từ xa
để đảm bảo cho việc giám sát có thể tiến hành ngay khi cần thiết
Cuối cùng, chúng ta cần một hệ thống có thể hỗ trợ nhiều phương pháp giám sát
trên các thiết bị khác nhau SNMP là một công nghệ linh hoạt cho phép quản lý và
giám sát các thiết bị khác nhau Cần đảm bảo rằng hệ thống giám sát của ta có hỗ trợ
giao thức này
2 Giao thức quản trị mạng SNMP
Trong mạng dựa trên nền TCP/IP, việc quản trị mạng được thực hiện có những
điểm khác biệt so với quản trị theo mô hình OSI Một đối tượng quản trị trong mạng
TCP/IP gần giống như một thuộc tính của đối tượng quản trị trong mô hình mạng OSI
Do đó, khái niệm đối tượng và biến có thể dùng thay thế lẫn nhau
SNMP sử dụng UDP (User Datagram Protocol) là giao thức truyền tải thông tin
giữa các manager và agent Việc sử dụng UDP, thay vì TCP bởi vì UDP là phương
thức truyền mà trong đó hai đầu thông tin không cần thiết lập kết nối trước khi dữ liệu
Trang 18được trao đổi (connectionless), thuộc tính này phù hợp trong điều kiện mạng gặp trục
trặc, hư hỏng
SNMP có các phương thức quản lý nhất định và các phương thức này được định
dạng bởi các gói tin PDU (Protocol Data Unit) Các manager và agent sử dụng PDU
để trao đổi với nhau [3]
Trong việc quản trị mạng dựa trên nền TCP/IP, giao thức SNMP (Simple
Network Management Protocol) được dùng để trao đổi các thông tin quản trị giữa
manager và agent Đây là giao thức quản trị mạng được dùng phổ biến nhất hiện nay vì
SNMP có khá nhiều đặc điểm ưu việt
Đơn giản: Việc sử dụng SNMP cho phép thực hiện các chức năng quản trị
mạng tiêu tốn ít tài nguyên mạng nhất so với các giao thức quản trị khác Các
phần mềm quản trị mạng dùng SNMP thường có mã nguồn ngắn và đơn giản
hơn Tuy nhiên, tính đơn giản của SNMP kéo theo sự hạn chế các chức năng
quản trị mạng
Mạnh mẽ và tin cậy: SNMP có thể hoạt động trên các mạng không tin cậy, có
nhiều lỗi, và thường xuyên xảy ra đụng độ SNMP được thiết kế để có thể giải
quyết được các tình huống xấu nhất có thể xảy ra
Tính mở: Các phần mềm quản trị mạng sử dụng SNMP không cần phải thay đổi
nhiều mỗi khi mở rộng mạng Khi mở rộng mạng, người quản trị mạng chỉ cần
thêm các MIB (Management Information Base) mới mô tả các thành phần mở
rộng MIB là cơ sở dữ liệu lưu trữ thông tin về các đối tượng cần quản trị
Tính toán tập trung: Trong giao tiếp giữa manager và agent, phần lớn khối
lượng công việc sẽ được manager xử lý Điều này đơn giản hoá việc thêm các
đối tượng quản trị vào mạng
Trang 19 Không liên kết: SNMP dựa trên nền giao thức không liên kết UDP giúp đơn
giản hoá quá trình giao tiếp giữa manager và agent Mỗi gói tin UDP thường
chứa một thông tin quản trị độc lập Do đó, có thể loại bỏ các thủ tục phức tạp
khi phải lắp ghép lại các gói tin hay sửa lỗi
Tính phổ biến: Chính nhờ các ưu điểm trên, SMNP được sử dụng rộng rãi
trong lĩnh vực quản trị mạng Hầu hết các hệ điều hành của các thiết bị mạng và
máy tính đều hỗ trợ SNMP
Hình 1: Giao thức quản trị mạng SNMP [1]
Trong giao thức SNMP, một manager có thể quản lý nhiều agent Tuy nhiên,
cũng có thể có nhiều manager và các manager này có thể giao tiếp được với nhau Mỗi
một cặp giao tiếp giữa manager-agent hay manager-manager được gọi là một cộng
đồng (community) Mỗi cộng đồng có một định danh riêng là tên cộng đồng Tên cộng
đồng được định nghĩa là một xâu có độ dài tối đa 255 ký tự
Agent và manager giao tiếp với nhau qua các SNMP message Mỗi SNMP
message chứa một định danh phiên bản SNMP sử dụng, một xâu mô tả cộng đồng
SNMP (community string) và một gói tin SNMP Các SNMP message hoàn toàn độc
Trang 20lập nhau, message đi sau không liên quan gì message đi trước nó Chuẩn giao thức
SNMP khuyến cáo rằng kích thước của message không nên vượt quá 484 byte
Hình 2: Cộng đồng SNMP [1]
3 Tổng quan về Nagios
3.1 Chức năng của Nagios [3]
Giám sát trạng thái hoạt động của các dịch vụ mạng (SMTP, POP3, IMAP,
HTTP, ICMP, FTP, SSH, DHCP, LDAP, DNS, name server, web proxy, TCP port,
UDP port, cở sở dữ liệu: Mysql, PortgreSQL, Oracle)
Giám sát các tài nguyên các máy phục vụ và các thiết bị đầu cuối (chạy hệ điều
hành Unix/Linux, Windows): tình trạng sử dụng CPU, người dùng đang log on, tình
trạng sử dụng ổ đĩa cứng, tình trạng sử dụng bộ nhớ trong và swap, số tiến trình đang
chạy, các tệp log hệ thống Giám sát các thông số an toàn thiết bị phần cứng trên host
như: nhiệt độ CPU, tốc độ quạt, pin, giờ hệ thống…
Community SNMP Manager
SNMP Agent1
SNMP Agent1
SNMP Agent1
Trang 21Giám sát các thiết bị mạng có IP như router, switch và máy in Với router,
switch, Nagios có thể theo dõi được tình trạng hoạt động, trạng thái bật tắt của từng
cổng, lưu lượng băng thông qua mỗi cổng, thời gian hoạt động liên tục (Uptime) của
thiết bị Với máy in, Nagios có thể nhận biết được nhiều trạng thái, tình huống sảy ra
như kẹt giấy, hết mực…
Cảnh báo cho người quản trị bằng nhiều hình thức như email, tin nhắn tức thời
(IM), âm thanh …nếu như có thiết bị, dịch vụ gặp trục trặc, tổng hợp, lưu giữ và báo
cáo định kỳ về tình trạng hoạt động của mạng
3.2 Đặc điểm của Nagios [3]
Các hoạt động kiểm tra được thực hiện bởi các plugin cho máy phục vụ Nagios
và các mô đun client trên các thiết bị của người dùng cuối, Nagios chỉ định kỳ nhận các
thông tin từ các plugin và xử lý những thông tin đó (thông báo cho người quản lý, ghi
vào tệp log, hiển thi lên giao diện web…)
Thiết kế plugin đơn giản cho phép người dùng có thể tự định nghĩa và phát triển
các plugin kiểm tra các dịch vụ theo nhu cầu riêng bằng các công cụ lập trình như shell
scripts, C/C++, Perl, Ruby, Python, PHP, C#
Có khả năng kiểm tra song song trạng thái hoạt động của các dịch vụ (đồng thời
kiểm tra nhiều dịch vụ)
Hỗ trợ khai báo kiến trúc mạng Nagios không có khả năng nhật dạng được topo
của mạng Toàn bộ các thiết bị, dịch vụ muốn được giám sát đều phải khai báo và định
nghĩa trong cấu hình
Gửi thông báo đến người/nhóm người được chỉ định sẵn khi dịch vụ/host được
giám sát gặp vấn đề và khi chúng khôi phục hoạt động bình thường.(qua e-mail, pager,
SMS, IM…)
Trang 22Khả năng định nghĩa bộ xử lý sự kiện thực thi ngay khi có sự kiện sảy ra với
Phần lõi nagios có chức năng quản lý các host/dịch vụ được giám sát, thu thập
các kết quả kiểm tra (check) host/dịch vụ từ các plugin gửi về, biểu diễn trên giao diện
chương trình, lưu trữ và thông báo cho người quản trị Ngoài ra nó còn tổng hợp và đưa
ra các báo cáo về tình hình hoạt động chung hoặc của từng host/dịch vụ trong một
khoảng thời gian nào đó
Plugin [4] là bộ phận trực tiếp thực hiện kiểm tra host/dịch vụ Mỗi một loại
dịch vụ đều có một plugin riêng biệt được viết để phục vụ riêng cho công việc kiểm tra
dịch vụ đó Plugin là các script (Perl, C …) hay các tệp đã được biên dịch (executable)
Khi cần thực hiện kiểm tra một host/dịch vụ nào đó Nagios chỉ việc gọi plugin tương
ứng và nhật kết quả kiểm tra từ chúng Với thiết kế như thế này, hệ thống Nagios rất dễ
dàng được mở rộng và phát triển Bất kì một thiết bị hay dịch vụ nào cũng có thể được
giám sát nếu như viết được plugin cho nó Hình bên dưới cho ta thấy sự tương quan
giữa các thành phần trong Nagios
Trang 23Hình 3 Sơ đồ tổ chức của Nagios Cách thức tổ chức hoạt động
Nagios có 5 cách thực thi các hành động kiểm tra:
Kiểm tra dịch vụ trực tiếp
Đối với các dịch vụ mạng có giao thức giao tiếp qua mạng như SMTP, HTTP,
FTP… Nagios có thể tiến hành kiểm tra trực tiếp một dịch vụ xem nó đang hoạt động
hay không bằng cách gửi truy vấn kết nối dịch vụ đến server dịch vụ và đợi kết quả trả
về Các plugin phục vụ kiểm tra này được đặt ngay trên server Nagios
Chạy các plugin trên máy ở xa bằng secure shell
Nagios server không có cách nào có thể truy cập trực tiếp client để theo dõi
những thông tin như tình trạng sử dụng ổ đĩa, swap, tiến trình … Để làm được việc
này thì trên máy được giám sát phải cài plugin cục bộ Nagios sẽ điểu khiển các plugin
cục bộ trên client qua secure shell ssh bằng plugin check_by_ssh Phương pháp này
yêu cầu một tài khoản truy cập host được giám sát nhưng nó có thể thực thi được tất cả
các plugin được cài trên host đó
Trang 24 Bộ thực thi plugin từ xa (NRPE - Nagios Remote Plugin Executor)
NRPE [2] là một addon đi kèm với Nagios Nó trợ giúp việc thực thi các plugin
được cài đặt trên máy/thiết bị được giám sát NRPE được cài trên các host được giám
sát Khi nhận được truy vấn từ Nagios server thì nó gọi các plugin cục bộ phù hợp trên
host này, thực hiện kiểm tra và trả về kết quả cho Nagios server Phương pháp này
không đòi hỏi tài khoản truy cập host được giám sát như sử dụng ssh Tuy nhiên cũng
như ssh các plugin phục vụ giám sát phải được cài đặt trên host được giám sát NRPE
có thể thực thi được tất cả các loại plugin giám sát Nagios có thể điều khiển máy cài
NRPE kiểm tra các thông số phần cứng, các tài nguyên, tình trạng hoạt động của máy
đó hoặc sử dụng NRPE để thực thi các plugin yêu cầu truy vấn dịch vụ mạng đến một
máy thứ 3 để kiểm tra hoạt động của các dịch vụ mạng như http, ftp, mail…
Cốt lõi của giao thức SNMP [10] (SimpleNetwork Management Protocol) là tập
hợp đơn giản các hoạt động giúp nhà quản trị mạng có thể quản lý, thay đổi trạng thái
thiết bị Hiện nay rất nhiều thiết bị mạng hỗ trợ giao thức SNMP như switch, router,
máy in, firewall Nagios cũng có khả năng sử dụng giao thức SNMP để theo dõi
trạng thái của các client, các thiết bị mạng có hỗ trợ SNMP Qua SNMP, Nagios có
được thông tin về tình trạng hiện thời của thiết bị Ví dụ như với SNMP, Nagios có thể
biết được các cổng của Switch, router có mở hay không, thời gian Uptime (chạy liên
tục) là bao nhiêu…
NSCA (Nagios Service Check Acceptor)
Nagios được coi là một phần mềm rất mạnh vì nó dễ dàng được mở rộng và kết
hợp với các phần mềm khác Nó có thể tổng hợp thông tin từ các phần mềm kiểm tra
Trang 25ứng dụng khác sẽ thực hiện điểu này và báo cáo thông tin về cho nó Và các ứng dụng
kiểm tra có thể tận dụng được khả năng rất mạnh của Nagios là thông báo và tổng hợp
báo cáo Nagios sử dụng công cụ NSCA [7] để gửi các kết quả kiểm tra từ ứng dụng
của bạn về server Nagios Công cụ này giúp cho thông tin gửi trên mạng được an toàn
hơn vì nó được mã hóa và xác thực
Hình 4 Các cách thức thực hiện kiểm tra
Hình trên cho ta cái nhìn tổng quan về các cách thức kiểm tra dịch với nagios
Có 5 client được giám sát bằng 5 cách thức khác nhau:
Client 1: Nagios sử dụng plugin ‘check_xyz’ được cài đặt ngay trên server
Nagios để gửi truy vấn kiểm tra dịch vụ trên client (HTTP, FTP, DNS, SMTP…)
Client 2, 3: Nagios sử dụng các plugin trung gian để chạy plugin ‘check_xyz’
giám sát được cài đặt trực tiếp trên client (bởi vì có những dịch vụ không có hỗ trợ giao
thức trao đổi qua mạng, ví dụ khi bạn muốn kiểm tra dung lượng ổ đĩa cứng còn trống
trên client…)
Trang 26Client 4: Kiểm tra dịch vụ qua giao thức snmp, nagios server sẽ sử dụng plugin
check_snmp để kiểm tra các dịch vụ trên client có hỗ trợ giao thức SNMP Rất nhiều
thiết bị mạng như router, switch, máy in… có hỗ trợ giao thức SNMP
Client 5: Đây là phương pháp kiểm tra bị động Nagios không chủ động kiểm tra
dịch vụ mà là client chủ động gửi kết quả kiểm tra dịch vụ về cho Nagios thông qua
plugin NSCA Phương pháp này được áp dụng nhiều trong giám sát phân tán Với các
mạng có quy mô lớn, người ta có thể dùng nhiều server Nagios để giám sát từng phần
của mạng Trong đó có một server Nagios trung tâm thực hiện tổng hợp kết quả từ các
server Nagios con thông qua plugin NSCA
4 Plugin add-on NagVis [8]
4.1 Khái niện về NagVis
NagVis là một ứng dụng hình ảnh hóa cho việc quản lý hệ thống Nagios tốt hơn
NagVis có thể được sử dụng để hiển thị dữ liệu Nagios, ví dụ như hiển thị xử lý thông
tin hệ thống mail hay là một hạ tầng mạng Sử dụng dữ liệu được cung cấp bởi một
backend, ứng dụng này sẽ cập nhật các đối tượng đặt lên bản đồ giám sát trong khoảng
thời gian nhất định để phản ánh trạng thái hệ thống mạng hiện tại Hệ thống bản đồ này
cho phép sắp xếp các đối tượng để bố trí khác nhau:
Physical (Ví dụ như tất các các host trong tủ Rack / phòng máy chủ )
Logical (Ví dụ như tất cả các ứng dụng servers)
Geographical (Ví dụ như tất cả các host trong một quốc gia)
Business processes ( Ví dụ như tất cả các host, services liên quan đến một quá
trình )
Trang 27Nagvis là một công cụ hiển thị thông tin được thu thập bởi Nagios và thông qua
sử dụng backends
Các loại backends mà Nagvis hỗ trợ:
Mklivestatus ( mặc định kể từ phiên bản NagVis 1.5)
NDOtils / IDOtils ( requireds MySQL )
Merlin ( requireds MySQL)
Backend thu thập các thông tin từ việc xử lý của Nagios ( mklivestatus ) hoặc từ
một database ( NDOUtils/IDOUtils, merlin)
Tất cả các đối tượng từ Nagios ( Host, Services, Hostgroups, Servicegroup)
được hiển thị trên bản đồ Mỗi bản đồ có thể được cấu hình thông qua các file cấu hình
riêng Các file cấu hình này có thể được cấu hình trực tiếp bằng cách sử dụng chương
trình chỉnh sửa text hoặc theo cơ chế cấu hình web
NagVis là phần mềm miễn phí, chúng ta có thể phân phối lại hoặc sửa đổi dưới
điều kiện theo giấy phép của GNU General Puplic License version 2
Một số hình ảnh đã được triển khai trên hệ thống giám sát mạng [9]
Hình 5 mô tả hệ thống mạng của một công ty, trong đó các server, switch,
firewall đều được giám sát Các server ngoài giám sát trạng thái vật lý còn giám sát cả
các dịch vụ chạy trên chúng như HTTP, DNS, SMTP, POP,
Hình 6 mô tả giám sát hệ thống các máy ảo hóa VMware, giám sát dung lượng
lưu trữ, cảnh báo cho người quản trị khi có sự cố hoặc dữ liệu quá tải
Giám sát toàn bộ các thiết bị trong một vùng địa lý nhất định Hình 8 mô tả
thông tin, vị trí, các điểm kết nối, trạng thái của các thiết bị cần giám sát
Trang 28Hình 5: Sơ đồ một mạng Local của một chi nhánh công ty
Trang 29Hình 7: Sơ đồ các kết nối VPN của các chi nhánh công ty
Hìh 8: Sử dụng dữ liệu Nagios trong sơ đồ địa lý
Trang 30Hình 9: Tích hợp dữ liệu Nagios vào trong file ảnh chụp thực tế của thiết bị
Hình 10: Minh họa tính dễ dàng quản lý khi công ty có các chi nhánh khác nhau
Trang 31Hình 11: Ảnh chụp màn hình của một sơ đồ NagVis trên thiết bị iphone
Chụp ảnh vị trí của thiết bị, đưa lên hệ thống NagVis, sử dụng cơ sở dữ liệu từ
Nagios để kéo thả các đối tượng giám sát đã được khai báo, định nghĩa tới vị trí ảnh
thiết bị được ví dụ như trong hình 9
4.2 Hệ thống yêu cầu triển khai NagVis [12]
Nagios core
MKLivestatus: Kể từ phiên bản Nagvis 1.5 mặc định phần backend là
MKLivestatus vì phần backend này xử lý thông tin nhanh, tối ưu và ổn định hơn so với
NDO.Và điều quan trọng không kém là dễ dàng xử lý và cài đặt Chúng ta không cần
bất kì khối cơ sở dữ liệu nào để chạy MKLivestatus
MKLivestatus là một Event Broker Module cho Nagios hỗ trợ cho các addons
bên thứ 3 ví dụ như NagVis có thể kết nối thu thập thông tin trạng thái host hay
services một cách nhanh chóng
Trang 32Máy chủ Webserver hỗ trợ PHP: NagVis là một ứng dụng web dựa trên
Javascript và PHP Chúng ta cần một máy chủ webserver với hỗ trợ PHP để chạy được
NagVis Nên sử dụng Webserver Apache với mod_php Phiên bản thấp nhất yêu cầu là
php5-pdo and pdo-sqlite
Các backends yêu cầu:
Mklivestatus: php-net-socket
Ndomy: php5-mysql
Merlinmy: php5-mysql
TỔNG KẾT CHƯƠNG 1
Trong chương này tập chung trình bày về :
Tổng quan về hệ thống giám sát, cần phải giám sát những gì và tại sao,
những yếu tố cần thiết cho một hệ thống giám sát
Tình hiểu đặc điểm, kiến trúc và tổ chức hoạt động của Nagios và Plugin
NagVis
Đưa ra một số hình ảnh về hệ thống NagVis đã được triển khai trên
website hệ thống: http://www.nagvis.org/screenshots
Trang 33CHƯƠNG 2: XÂY DỰNG MÔ HÌNH GIÁM SÁT CHO MỘT MẠNG CAMPUS
1 Khảo sát hiện trạng hệ thống mạng campus trường ĐHBK-HN
Hình 1 Sơ đồ tổng thể mạng trường ĐHBK-HN
Tính đến đầu năm 2008, số lượng điểm kết nối mạng là trên 6000 nút mạng
Trong đó số lượng kết nối thường trực vào khoảng 3000 kết nối Số lượng tài khoản
Email cho cán bộ là 2316 Đến nay, hệ thống mạng không ngừng được mở rộng thành
mạng campus có quy mô lớn hiện nay Nó kết nối nhiều mạng, trong đó: Mạng Thư
Trang 34viện Điện tử, Mạng Việt Nhật, Trung tâm hợp tác an ninh mạng BKAV SOICT, hệ
thống Big Data
Hệ thống mạng trường có hạ tầng phân cấp 3 lớp:
Core Switch: Cisco Catalyst 6500
Distribute Switch: Cisco Catalyst 3750
Access Switch: Cisco Catalyst 2950 và 2960
Hệ thống máy chủ trong vùng DMZ được bảo vệ chống xâm nhập
Router kết nối ra các mạng khác và kết nối ra Internet sử dụng Cisco 44000
Series Tất cả các mạng thành viên: Thư viện Điện tử và Việt Nhật, BKAV đều sử
dụng các thiết bị mạng của Cisco Trong đó chỉ riêng mạng Thư viện Điện tử đã có
2080 nút mạng
2 Cơ sở vật chất
Hệ thống gồm có:
Phòng máy chủ rộng 512 mét vuông đặt tại tầng 9 Thư viện Tạ Quang Bửu
Hệ thống mạng trục (Backbone) sử dụng công nghệ GigabitEthernet kết nối đến
các toà nhà (Building) có tốc độ 1Gbps, kết nối đến các máy trạm có tốc độ
10/100Mbps, riêng Thư viện Điện tử có cung cấp kết nối 10/100/1000Mbps tại giao
diện Ethernet với máy tính
Hệ thống máy chủ dịch vụ sử dụng các máy chủ của hãng SUN, HP, IBM, Dell
Hệ thống mạng không dây Cisco Wireless Controller 5508 với bản quyền hỗ trợ
đến 250 Access Point out door và indoor đặt tại hầu hết các khu giảng đường và văn
phòng các khoa viện
Trang 35Hệ thống mạng không dây Cisco Meraki đã triển khai được 70 Access Point đặt
tại các khu giảng đường Viện Đào tạo liên tục, khu D3-5, D4, D7, D9, phòng đọc Thư
viện Tạ Quang Bửu [13]
Đường truyền kết nối ra Internet gồm 02 đường LeaseLine riêng: 80Mbps/1
đường đi quốc tế, 1000Mbps/1 đường trong nước và một đường dự phòng 30Mbps đi
trong nước và quốc tế, cả hai đường leaseLine này đều thuê của công ty cổ phần FPT
[14]
3 Các dịch vụ mạng cơ bản
3.1 Truy cập Internet
Với qui mô hiện tại khoảng 6000 nút mạng trong toàn trường, mạng trường
ĐHBKHN cung cấp đường ra Internet qua nhà cung cấp dịch vụ FPT Phục vụ trung
bình thường trực khoảng gần 3000 kết nối cùng lúc
Ngoài ra hệ thống mạng còn được bảo vệ bởi hệ thống Firewall mềm và cứng
kết hợp cùng với các thiết bị phân tích, phát hiện tấn công chuyên dụng giúp giảm
thiểu nguy cơ cho mạng trường cũng như an toàn hơn cho người dùng khi kết nối
mạng
3.2 Dịch vụ thư điện tử
Với gần 3000 hòm thư điện tử cung cấp cho từng cán bộ đã đóng góp không nhỏ
cho công việc và công tác quản lý hành chính của nhà trường Cán bộ của trường có
thể truy cập và sử dụng hòm thư ở bất kỳ đâu có kết nối mạng Internet dưới nhiều hình
thức truy cập khác nhau thông qua truy cập tại địa chỉ Website
(https://mail.hust.edu.vn) hoặc các phần mềm Email client khác như Outlook Express,
ThunderBird