Tải bản đầy đủ (.pdf) (9 trang)

NGHIÊN cứu xây DỰNG hệ THỐNG GIÁM sát MẠNG tại TRƯỜNG đại học hải PHÒNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (753.11 KB, 9 trang )

NGHIÊN CỨU XÂY DỰNG HỆ THỐNG GIÁM SÁT MẠNG
TẠI TRƯỜNG ĐẠI HỌC HẢI PHÒNG
Lại Văn Chiến – Công nghệ thông tin K13
Khoa Công nghệ thông tin – Trường Đại học Hải Phòng
171 Phan Đăng Lưu, Kiến An, Hải Phòng
Email:
Cán bộ hướng dẫn: TS. Lê Đắc Nhường, ThS. Nguyễn Ngọc Khương
Tóm tắt
Trong bài báo này, chúng tôi tập trung nghiên cứu nghiên cứu bài toán và các giao thức
giám sát hoạt động của hệ thống mạng dựa trên nền tảng mã nguồn mở Nagios và hệ điều hành
CentOS. Từ đó đề xuất giải pháp giám sát hoạt động mạng hoàn chỉnh dựa trên việc thu thập
thông tin Check_MK, biểu diễn và phân tích thông tin pnp4Nagios. Hệ thống được xây dựng
cho phép giám sát hoạt động của hạ tầng mạng cũng như các dịch vụ mạng tích hợp trên Nagios.
Các thực nghiệm giám sát mạng ở Nhà C3 trường Đại học Hải Phòng cho thấy hệ thống tự
động phát hiện và gửi cảnh báo qua email giúp người quản trị có thể khắc phục sự cố nhanh
chóng, kịp thời thông qua các kết nối từ xa trên internet và đảm bảo hệ thống mạng hoạt động
liên tục và ổn định.
I. ĐẶT VẤN ĐỀ
Cùng với sự phát triển của công nghệ thông tin, sự đầu tư cho cơ sở hạ tầng mạng trong
doanh nghiệp ngày càng tăng cao, dẫn đến việc quản trị sự cố một hệ thống mạng gặp rất nhiều
khó khăn. Đi cùng với những lợi ích khi phát triển hạ tầng mạng như băng thông cao, khối
lượng dữ liệu trong mạng lớn, đáp ứng được nhu cầu của người dùng, hệ thống mạng phải đối
đầu với rất nhiều thách thức như các cuộc tấn công bên ngoài, tính sẵn sàng của thiết bị, tài
nguyên của hệ thống [1][5]. Một trong những giải pháp hữu hiệu nhất để giải quyết vấn đề này
là thực hiện việc giám sát mạng, dựa trên những thông tin thu thập được thông qua quá trình
giám sát, các nhân viên quản trị mạng có thể phân tích, đưa ra những đánh giá dự báo, giải
pháp nhằm giải quyết những vấn đề trên.
Để thực hiện giám sát mạng có hiệu quả, một chương trình giám sát phải đáp ứng được
các yêu cầu sau: phải đảm bảo chương trình luôn hoạt động, tính linh hoạt, chức năng hiệu quả,
đơn giản trong triển khai, chi phí thấp. Hiện nay, có khá nhiều phần mềm hỗ trợ việc giám sát
mạng có hiệu quả như Nagios, Zabbix, Zenoss, Cacti [6]. Trong bài báo này, chúng tôi tiếp cận


dựa trên Nagios, một phần mềm mã nguồn mở với nhiều chức năng mạnh mẽ cho phép quản
lý các thiết bị, dịch vụ trong hệ thống mạng. Mục tiêu hướng đến là giúp cho mọi người có


cách nhìn tổng quát về một hệ thống giám sát mạng hoàn chỉnh, đồng thời đưa ra một giải pháp
cụ thể đối với một hệ thống mạng dành cho trường học, doanh nghiệp.
II. BÀI TOÁN GIÁM SÁT MẠNG
Giám sát mạng là một thuật ngữ dùng để chỉ việc sử dụng liên tục một hệ thống (có thể
là một chương trình hoặc một thiết bị ) để theo dõi tất cả các hoạt động của các thiết bị, các
dịch vụ trong một hệ thống mạng.
Đối với hệ thống mạng, điều quan trọng nhất là nắm được những thông tin chính xác
nhất vào mọi thời điểm. Những thông tin cần nắm bắt khi giám sát một hệ thống bao gồm[4]:
-

Tính sẵn sàng của thiết bị (Router, Switch, Server,...): những thiết bị giữ cho mạng
hoạt động.

-

Các dịch vụ trong hệ thống (DNS, FTP, HTTP,...): những dịch vụ này đóng vai trò
quan trọng trong một công ty, tổ chức, nếu các dịch vụ này không được đảm bảo
hoạt động bình thường và liên tục, nó sẽ ảnh hưởng nghiêm trọng đến công ty, tổ
chức đó.

-

Tài nguyên hệ thống: các ứng dụng đều đòi hỏi tài nguyên hệ thống, việc giám sát tài
nguyên sẽ đảm bảo cho chúng ta có những can thiệp kịp thời, tránh ảnh hưởng đến
hệ thống.


-

Lưu lượng trong mạng: đưa ra những giải pháp, ngăn ngừa hiện tượng quá tải trong
mạng. Các chức năng về bảo mật: nhằm đảm bảo an ninh trong hệ thống

-

Nhiệt độ, thông tin về máy chủ, máy in: giúp tránh những hư hỏng xảy ra.

-

Tạo file log: thu được những thông tin về những thay đổi trong hệ thống.

Tầm quan trọng của hoạt động giám sát mạng: Giả sử một quản trị viên đang quản lý
một hệ thống mạng của công ty bao gồm 10 server. Trong mỗi Server, quản trị viên đó phải
lần lượt kiểm tra 8 tham số. Như vậy, mỗi ngày, phải kiểm tra 80 tham số, việc đó tiêu tốn
khoảng thời gian khá lớn. Nếu hệ thống mạng có nhiều thiết bị hơn nữa, việc sử dụng một hệ
thống giám sát là cần thiết. Sử dụng hệ thống giám sát, chúng ta có thể tiết kiệm khá nhiều
thời gian, thay vì tốn 10 tiếng để kiểm tra toàn bộ, chúng ta chỉ tốn khoảng 10 phút. Hơn nữa,
khi biết được những sự cố xảy ra trong mạng, chúng ta có thể khắc phục được những sự cố đó
một cách kịp thời, đồng thời đưa ra được những chính sách hợp lý trong việc giới hạn truy cập,
quản lý băng thông, bảo trì, nâng cấp hệ thống,...Những hoạt động đó giúp cho việc quản trị
mạng trở nên dễ dàng, có hiệu quả, nâng cao hiệu suất công việc.
Giao thức SNMP (System Network Management Protocol) là giao thức được sử dụng
để hỗ trợ cho việc giám sát các thiết bị mạng cũng như các thiết bị khác trong trung tâm dữ liệu
(Data Center) [8]. Giao thức SNMP là một phần trong bộ giao thức TCP/IP. Trong môi trường
data center, mỗi Server được cài đặt các Agent giao tiếp với nhau thông qua giao thức SNMP


để quảng bá trạng thái của mỗi thiết bị. Thiết bị manager (Monitoring Server) tập trung dữ liệu

từ nhiều nút. Giao thức SNMP gồm 3 thành phần chính: Thiết bị - là nơi mà agent được cài
đặt; Agent - được cài đặt trên thiết bị; Monitoring Server – Phần mềm nhận dữ liệu giám sát từ
agent. Dữ liệu có thể được tập hợp bằng cách sử dụng các phương thức GetRequest,
SetRequest, GetNextRequest, Response, Trap,...Có nghĩa là hệ thống giám sát có thể yêu cầu
1 giá trị từ Server “get” hoặc cotheer thiết lập “trap”.

Hình 1: Cấu trúc PDU của giao thức SNMP
Giao thức SNMP hoạt động ở tầng Application của mô hình OSI và sử dụng UDP port 161
để giao tiếp vì giao thức SNMP không cần hồi báo và sử dụng cho mục đích giám sát. Cấu trúc
cơ bản của PDU trong giao thức SNMP bao gồm IP header, UDP header, version, communtity
type, requestid, error status, error index, variable bindings. Có 3 phiên bàn chính của giao thức
SNMP. Phiên bản 1 [RFC 1065, 1066, 0167, 1156] có vấn đề trong bảo mật và chứng thực.
Lỗi đó được khắc phục trong phiên bản 2 [RFC 1213]. Trong phiên bản 3, giao thức SNMP
được cải tiến để có thể cấu hình từ xa [RFC 3411, 3418].

Hình 2: Sơ đồ hoạt động của giao thức SNMP
III. GIẢI PHÁP GIÁM SÁT MẠNG TẠI TRƯỜNG ĐẠI HỌC HẢI PHÒNG
A. Giới thiệu về Nagios
Là phần mềm mã nguồn mở, là một ứng dụng rất mạnh cho việc giám sát mạng. Nó
phù hợp với các hệ thống mạng lớn và nhỏ. Ưu điểm lớn nhất của Nagios là tính mở của chương
trình, ta có thể cấu hình Nagios theo nhiều cách, đồng thời có thể mở rộng theo nhu cầu của
người sử dụng. Nagios giúp cho việc phát hiện và giải quyết vấn đề xảy ra trong hệ thống được
tiến hành một cách hiệu quả nhất. Nagios hoạt động bằng cách kiểm tra xem một máy chủ hoặc
dịch vụ có hoạt động tốt không và lưu trữ trạng thái của nó. Trạng thái của một dịch vụ có một
trong bốn giá trị OK, WARNING, CRITICAL, UNKNOWN. Điều quan trọng là nó thật sự xác


định được tình trạng hiện tại. Để tránh phát hiện tạm thời và ngẫu nhiên vấn đề, Nagios sử dụng
trạng thái tạm thời và cố định mô tả tình trạng hiện tại của một máy chủ lưu trữ hoặc dịch vụ.
Để xử lý tình huống khi một dịch vụ ngưng hoạt động trong một thời gian rất ngắn,

hoặc các kiểm tra tạm thời không thành công, người ta đưa ra trạng thái tạm thời. Khi trạng
thái của một kiểm tra là UNKNOWN, hoặc khác các trạng thái trước đó, Nagios sẽ tiến hành
kiểm tra lại các máy chủ, dịch vụ nhiều lần để đảm bảo rằng thay đổi là cố định trong một
khoảng thời gian dài[2]. Số lần kiểm tra được cấu hình trong phần định nghĩa các dịch vụ.
Nagios giả định rằng các kết quả mới là một trạng thái tạm thời. Sau khi tiến hành kiểm tra
nhiều lần mà trạng thái không đổi, thì nó được coi là một trạng thái cố định. Mỗi Host và
Service được định nghĩa số thử kiểm tra sẽ được thực hiện trước khi nó có thể được giả định
rằng thay đổi là vĩnh viễn. Điều này cho phép linh hoạt trong việc kiểm tra các sự cố. Thiết lập
số lượng kiểm tra một sẽ gây ra các thay đổi được coi là khó khăn ngay lập tức. Sau đây là môt
minh họa cho trạng thái tạm thời và cố định, giả sử số lần kiểm tra là 3 ta sẽ có:

Hình 3: Sơ đồ mô tả cách thức Nagios thông báo các trạng thái
Tính năng này cho phép bỏ qua sự cố ngưng hoạt động trong thời gian ngắn của một
dịch vụ. Nó cũng rất hữu ích để thực hiện các kiểm tra định kỳ ngay khi mọi thứ hoạt động tốt.
Các chức năng chính của Nagios: Các chức năng của Nagios rất linh hoạt, nó có thể
được cấu hình để theo dõi cơ sở hạ tầng Công nghệ thông tin theo cách mà ta muốn. Nó cũng
có một cơ chế để tự động phản ứng với các vấn đề và một hệ thống cảnh báo mạnh. Tất cả điều
này được dựa tren một hệ thống định nghĩa các đối tượng rõ ràng:
-

Commands: được định nghĩa về các Nagios cần thực hiện các loại kiểm tra, chúng
là một lớp trừu tượng cho phép ta nhóm các hoạt động tương tự lại với nhau.

-

Time-period: là ngày và thời gian kéo dài mà trong đó một hoạt động nên hay
không nên được thực hiện.Ví dụ: thứ 2 đến thứ 6 9:00 – 17:00

-


Contacts và Contact groups: là những người cần được cảnh báo, cùng với thông
tin về cách thức và thời gian họ cần được cảnh báo. Contacts có thể được nhóm lại
thành Contact groups.

-

Host: là những máy vật lý, cùng với thông tin về việc ai sẽ được liên lạc, làm thế
nào kiểm tra phải được thực hiện và khi nào Host có thể được nhóm lại thành các
Host group, mỗi host có thể là thành viên của nhiều Host group.


-

Services: là các chức năng khác nhau hoặc các tài nguyên cần được giám sát, cùng
với thông tin về những người cần được liên lạc, làm thế nào kiểm tra phải được thực
hiện, và khi nào Service có thể được nhóm lại thành các service group, mỗi service
có thể là một thành viên của nhiều service group.

-

Host và service escalation: định nghĩa khoảng thời gian được chỉ ra mà sau đó
người phụ trách nên được cảnh báo của các sự kiện nào đó.

B. Đề xuất giải pháp, triển khai mô hình
Những mục tiêu cần giám sát trong mô hình gồm:
Hạ tầng mạng: Theo dõi Router, Switch, End User dựa trên kiểm tra kết nối từ Server
chạy Nagios đến các thiết bị cần giám sát (PING), tải CPU của thiết bị (CPU load), phiên bản
hệ điều hành (IOS version), trạng thái các port gồm Up hoặc Down (Interface Table), tình trạng
bộ nhớ đang được sử dụng thiết bị (Memory), băng thông được sử dụng của port (Port
Bandwidth), trạng thái liên kết (Port Link Status), mức nhiệt độ của thiết bị, khoảng thời gian

chạy của thiết bị tính từ lúc bật (Uptime)
Dịch vụ: Kiểm tra dịch vụ phân giải tên miền (DNS), dịch vụ Web (Http), dịch vụ
WINS (POP3), dịch vụ truyền dữ liệu (Ftp).
Quá trình triển khai:
-

Cấu hình IP cho các thiết bị, thiết lập tất cả kết nối giữa các thiết bị.

-

Cài đặt các dịch vụ như DNS, FTP, HTTP,...cho các Server cần giám sát.

-

Cài đặt chương trình NSClient trên các thiết bị cần giám sát.

-

Cài đặt Nagios dựa trên hệ điều hành mã nguồn mở CentOS trong Nagios Server.

-

Cài đặt các plugin cần thiết để hỗ trợ chương trình Nagios như: Check_MK,
npn4Nagios, MRTG, Check Table Interface, Check Temp,...

-

Tiến hành cấu hình cho chương trình Nagios. Định nghĩa các thiết bị, các dịch vụ
cần giám sát thông qua các file config của Nagios.


-

Định nghĩa các host hoặc thiết bị cần giám sát dựa trên địa chỉ IP của thiết bị.

Hình 4: Thư mục chứa các file cfg định nghĩa dịch vụ

-

Hình 5: Định nghĩa một host cần giám sát

Định nghĩa các dịch vụ cần giám sát trên các thiết bị (hình 6).


Hình 6: Định nghĩa một dịch vụ cần giám sát
Sau đó, tiến hành giám sát các thiết bị dựa vào giao diện web. Các bước tiến hành giám
sát bao gồm:
-

Sử dụng tài khoản admin của Nagios, đăng nhập vào giao diện web (Hình 7)

Hình 7: Giao diện đăng nhập của Nagios
-

Giám sát tổng quan về tình trạng chung của hệ thống mạng: Giám sát số lượng các
host đang up hoặc down, số lượng các Warning, Problems, Critical, Pending,
OK,...Dựa vào các tham số đó, chương trình Nagios tự động đánh giá và đưa ra
cảnh báo về tình trạng của các thiết bị, các dịch vụ như Host Health, Service Health.

Hình 8: Tổng quát về tình trạng của một hệ thống mạng
-


Xem danh sách tất cả các thiết bị đang được giám sát, tình trạng của thiết bị.

Hình 9: Danh sách tất cả các thiết bị được giám sát
C. Khắc phục sự cố mạng
Sau khi triển khai hoàn chỉnh giải pháp, toàn bộ hệ thống bao gồm hạ tầng và dịch vụ
mạng đã được giám sát, theo dõi thông qua Nagios. Khi có bất kì vấn đề gì xảy ra, chương trình
Nagios sẽ đưa ra những cảnh báo tương ứng để người quản trị có thể phát hiện sự cố và nhanh
chóng khắc phục. Những sự cố thường xảy ra trong mạng bao gồm: thiết bi mất kết nối, quá


tải đường truyền, thiếu tài nguyên, 1 ứng dụng nào đó của Server xảy ra lỗi,...Giả sử, trong mô
hình trên, chúng ta nhận được thông báo về 1 số lỗi xảy ra trong hệ thống. Nếu không triển
khai giám sát mạng, người quản trị phải dựa vào những triệu chứng để đưa ra những dự đoán
về nguyên nhân phát sinh lỗi. Nhưng sau khi đã triển khai chương trình Nagios, những gì người
quản trị cần làm là đăng nhập vào giao diện web của chương trình Nagios và xem qua các thông
tin về các thiết bị, dịch vụ được giám sát.
Trong trường hợp này, người quản trị phát hiện được 2 sự cố xảy ra trong mạng:

Hình 10: Sự cố về dịch vụ DNS
Sự cố đầu tiên xảy ra ở DNS Server, vì 1 lý do gì đó, dịch vụ DNS không hoạt động, hệ
thống sẽ xuất cảnh báo CRITICAL.

Hình 11: Sự cố về thiết bị Switch Distribution 1
Sự cố thứ 2 là về tình trạng tài nguyên bộ nhớ của Switch bị đầy. Dựa vào những thông
báo này, người quản trị có thể đưa ra những giải pháp như kiểm tra lại dịch vụ chạy trên Server,
nâng cấp hệ thống,...để giải quyết vấn đề. Ngoài ra, để tối ưu hóa quá trình giám sát mạng,
đồng thời giảm thiểu những thiệt hại có thể xảy ra khi hệ thống gặp sự cố, giúp người quản trị
có thể nhanh chóng phát triển ra khi hệ thống trục trặc, chương trình Nagios có chức năng tự
động gửi những cảnh báo khi sự cố phát sinh đến mail hoặc điện thoại của người quản trị.

Những cảnh báo này có độ chi tiết khá cao, nó chỉ rõ trạng thái và vấn đề xảy ra trong hệ thống,
nhờ vậy, người quản trị biết phải làm gì.

Hình 12: Những mail cảnh báo về sự cố mạng
D. Phân tích đánh giá
Sau khi tiến hành triển khai chương trình Nagios để giám sát mô hình mạng như trên,
chúng tôi đưa ra những đánh giá tổng quát về chương trình:
Ưu điểm: Nagios là phần mã nguồn mở, miễn phí với giao diện đồ họa đẹp mắt, thân
thiện đối với người dùng, có tính mở rộng cao, có khả năng theo dõi định kì theo thời gian đã


được cấu hình trước và it tốn tài nguyên hệ thống. Có cơ chế tự động cảnh báo cho người quản
trị khi có sự cố xảy ra, tự động tạo các báo cáo theo lịch biểu ấn định, độ ổn định cao khi giám
sát hệ thống mạng. Đặc biệt Nagios có khả năng giám sát phân tán nên có thể hỗ trợ tối đa
100.000 node.
Nhược điểm: Không có khả năng tự động nhận biết các thiết bị giám sát trong mạng mà
cần phải định nghĩa trên Nagios Server. Cần phải cài đặt từng plugin riêng cho từng dịch vụ
giám sát, chính điều này khiến cho việc cấu hình Nagios trở nên khá phức tạp. Một số thiết bị
mới chưa thể giám sát được, ví dụ như Access Point,..Triển khai khó vì phải thực hiện trên
CentOS.
IV. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Thông qua quá trình triển khai giám sát các thiết bị sử dụng mạng tại Nhà C3 trường Đại
học Hải Phòng, 171 Phan Đăng Lưu, Kiến An, Hải Phòng, chúng tôi rút ra một số lợi ích từ
việc giám sát hệ thông mạng tự động bằng các phần mềm giám sát như sau:
Xác định nguyên nhân cốt lõi cảu vấn đề 1 cách nhanh chóng và dễ dàng. Giảm thiểu

-

công sức tìm kiếm, di chuyển của nhân viên quản trị mạng.
-


Tạo ra sự hài lòng của người dùng trong mạng nôi bộ.

-

Tự động gửi cảnh báo qua email giúp nhân viên quản trị mạng có thể khác phục sự cố
nhanh chóng, kịp thời thông qua các kết nối từ xa bằng internet...Đảm bảo hệ thống
mạng của doanh nghiệp hoạt động liên tục và ổn định.
Tự động tạo các báo cáo qua lịch biểu ấn định. Người sử dụng có thể tạo ra nhiều mẫu

-

báo cáo khác nhau.
Xác định các xu hướng xảy ra trong tương lai. Tối ưu hóa và định mức đầu tư đúng

-

mức, đúng chỗ vào hạ tầng của hệ thống mạng.
Tất cả các yếu tố bên trên dẫn đến việc có thể tiết kiệm được chi phí, ngân sách đầu tư.

-

Bên cạnh các phần mềm nhìn chung, khi quản trị hệ thống mạng, việc giám sát đóng vai
trò rất quan trọng. Nó ảnh hưởng lớn đến hiệu quả kinh doanh của doanh nghiệp hiện nay. Hiện
nay có rất nhiều phần mềm mạnh hỗ trợ hiệu quả cho quá trình giám sát mạng như Nagios,
CACti, Zenoss, Zabbix,...Việc lựa chọn phần mềm phụ thuộc vào quy mô mạng mà chúng ta
quản trị. Và đặc biệt có thể kết hợp một số phần mềm với nhau để tăng cường hiệu quả của
việc giám sát mạng hiện nay. Và chúng ta cũng có khá nhiều thiết bị phần cứng hỗ trợ cho
việc giám sát mạng, sự kết hợp giữa phần cứng và phần mềm sẽ cho hiệu quả cao nhất, mang
lại sự tối ưu. Đề tài có thể phát triển bằng cách mở rộng giả pháp kết hợp với một số thành

phần khác như tường lửa, IPS, IDS nhằm tăng cường khả năng giám sát và bảo vệ hệ thống
mạng.


TÀI LIỆU THAM KHẢO
[1] M. H. S. Benjamin D. Wright (1979), " Best Test Design," SMESA PRESSA, Chicago.
[2] S.-T. K. Raymond J. Adams (1993), " QUEST - The Interactive Test Analysis System,"
ACER, Austalia.
[3] W. R. B. K. R. W. Blaine R. Worthen (1993), "Measurement and Evaluation in the
Schools," Longman.
[4] S. S. S. Miguel A. Revilla (2012), Programming Challenges.
[5] A. Kosowski (2014), "PROBLEMS". SPOJ,
[6] W.-T. S. a. H.-Y. Chung (2014), “A distributed energy monitoring network system
based on data fusion via improved PSO,” Measurement, vol. 55, pp. 362 - 374.
[7] P Zhou et al. (2015), “Wireless sensor network based monitoring system for a largescale indoor space: data process and supply air allocation optimization,” Energy and
Buildings, vol. 103, pp. 365 - 374.
[8] K Fatema et al.(2014), “A survey of Cloud monitoring tools: Taxonomy, capabilities
and objectives,” Journal of Parallel and Distributed Computing, vol. 74, no. 10, pp.
2918-2933.
[9] J.R. Gisbert et al (2014), “Integrated system for control and monitoring industrial
wireless networks for labor risk prevention,”, Journal of Network and Computer
Applications, vol. 39, pp. 233 - 252.



×