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
-
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
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
-
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.
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ị.
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