ỦY BAN NHÂN DÂN TP.HCM
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC
BÁO CÁO KẾT QUẢ THỰC HIỆN ĐỀ TÀI NGHIÊN CỨU KHOA HỌC
NĂM HỌC 2016 - 2017
ĐỀ TÀI
XÂY DỰNG HỆ THỐNG GIÁM SÁT VÀ CẢNH BÁO TRẠNG THÁI
HOẠT ĐỘNG WEB SERVER CHO KHOA CÔNG NGHỆ THÔNG
TIN TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC
Đơn vị chủ trì: Khoa Cơng Nghệ Thơng Tin,
Trường cao đẳng Công Nghệ Thủ Đức
Chủ nhiệm đề tài: Ths. NGUYỄN THANH VŨ
TP. Hồ Chí Minh, năm 2017
BÁO CÁO KẾT QUẢ THỰC HIỆN ĐỀ TÀI NGHIÊN CỨU KHOA HỌC
NĂM HỌC 2016 - 2017
ĐỀ TÀI
XÂY DỰNG HỆ THỐNG GIÁM SÁT VÀ CẢNH BÁO TRẠNG THÁI
HOẠT ĐỘNG WEB SERVER CHO KHOA CÔNG NGHỆ THÔNG
TIN TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC
TP. Hồ Chí Minh, ngày 10 tháng 02 năm 2017
Trưởng khoa
Ths. VÕ THÀNH TRUNG
Chủ nhiệm đề tài
Ths. NGUYỄN THANH VŨ
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
MỤC LỤC
LỜI MỞ ĐẦU ...................................................................................................................... 2
1.1 Tính cấp thiết của đề tài ..................................................................................................... 2
1.2 Tình hình nghiên cứu ......................................................................................................... 3
1.3 Mục tiêu và nhiệm vụ nghiên cứu .................................................................................... 3
1.4 Đối tượng và phạm vi nghiên cứu .................................................................................... 3
1.5 Phương pháp nghiên cứu ................................................................................................... 4
1.6 Đóng góp của đề tài............................................................................................................ 4
1.7. Kết cấu của đề tài .............................................................................................................. 4
I. Phân tích các hệ thống giám sát và cảnh báo trên mã nguồn mở Linux ........................... 5
1. Nagios ..................................................................................................................................... 5
2. Cacti ....................................................................................................................................... 5
3. Zabbix ..................................................................................................................................... 5
4. MRTG ..................................................................................................................................... 6
5. Nfsen ....................................................................................................................................... 6
II. Chức năng giám sát và cảnh báo của Nagios................................................................... 7
1. Chức năng của Nagios ............................................................................................................ 7
2. Giám sát các thiết bị mạng ...................................................................................................... 7
3. Giám sát máy đầu cuối............................................................................................................ 8
4. Giám sát dịch vụ mạng ........................................................................................................ 8
5. Cảnh báo cho người quản trị ............................................................................................... 9
6. Phương thức giám sát......................................................................................................... 10
III. Xây dựng hệ thống giám sát và cảnh báo trạng thái hoạt động web server cho .......... 12
1. Mơ hình thực hiên .............................................................................................................. 12
2. Cài đặt và cấu hình ............................................................................................................. 14
3. Chức năng giám sát và cảnh báo ...................................................................................... 34
IV. Kết luận ........................................................................................................................ 40
1. Kết quả quả đạt được của đề tài ........................................................................................ 40
2. Hướng nghiên cứu và áp dụng đề tài ............................................................................... 41
TÀI LIỆU THAM KHẢO .................................................................................................. 42
NGUYỄN THANH VŨ
Trang 1
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
LỜI MỞ ĐẦU
Ngày nay, bên cạnh việc triển khai các hạ tầng mạng và hệ thống mạng để đáp ứng nhu
cầu sử dụng của con người, vấn đề “quản trị hệ thống mạng” được quan tâm đặc biệt. Các
hệ thống mạng phải đảm bảo an toàn, sẵn sàng đáp ứng và hoạt động tốt. Quản trị viên hệ
thống mạng ln duy trì việc giám sát, đưa ra các giải pháp để khắc phục các lỗi xảy ra
cũng như đưa ra các phân tích, đánh giá về trạng thái hoạt động của hệ thống mạng.
Hệ điều hành Linux đã và đang được sử dụng để xây dựng hệ thống Server với đầy đủ các
tính năng và tiết kiệm chi phí. Để hệ thống mạng hoạt động tốt và ổn định, bên cạnh đảm
bảo tốt về hạ tầng mạng, hệ thống firewall, proxy,…, thì hệ thống giám sát và cảnh báo
trạng thái hoạt động mạng cũng đặc biệt quan trọng cần được xây dựng.
Hệ thống cảnh báo và giám sát đóng một vai trò quan trọng việc giúp theo dõi, kiểm tra
trạng thái hoạt động mạng, 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. Để 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 ln 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
1.1.
Tính cấp thiết của đề tài
Hệ thống giám sát và cảnh báo giúp cho quản trị viên theo dõi trạng thái hoạt động mạng,
đồng thời sẽ khắc phục kịp thời các lỗi xảy ra nhằm để hệ thống mạng hoạt động tốt.
Khoa Công nghệ thông tin trường Cao đẳng công nghệ Thủ Đức có các hệ thống Server
đang hoạt động như Web, Module, Redmine,…Nhưng chưa có hệ thống giám sát và cảnh
báo trạng thái hoạt động cho việc duy trì và hoạt động hiệu quả. Đây là một trong những
lý do Tôi chọn đề tài “Xây dựng hệ thống giám sát và cảnh báo trạng thái hoạt động web
server cho khoa công nghệ thông tin trường cao đẳng công nghệ thủ đức”.
NGUYỄN THANH VŨ
Trang 2
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
1.2.
Tình hình nghiên cứu
Hiện nay có rất nhiều cơng cụ giám sát mạng hỗ trợ cho công việc của người quản trị.
Chức năng của chúng là giám sát thạng thái hoạt động của các thiết bị mạng, các dịch vụ
mạng, và các máy đầu cuối tham gia vào mạng và thơng báo cho người quản trị khi có sự
cố hoặc khả năng sẽ sảy ra sự cố. Có cả những hệ thống thương mại như HPopen View…
Hay nguồn mở như openNMS, Cacti, Nagios… Mỗi hệ thống lại có những ưu nhược
điểm riêng. Trong đó Nagios là giải pháp mã nguồn mở với nhiều chức năng mạnh mẽ
cho phép quản lý băng thơng kết nối, tình trạng hoạt động của các thiết bị, trạng thái của
dịch vụ trong hệ thống mạng. Trong đề tài Tôi sử dụng Nagios để thực hiện triển khai
giám sát và cảnh báo trạng thái hoạt động mạng.
1.3.
Mục tiêu và nhiệm vụ nghiên cứu
Giám sát trạng thái hoạt động phần cứng của hệ thống Web Server bao gồm:
Khả năng xử lý của CPU; Trạng thái lưu trữ của đĩa cứng; Tình trạng bộ nhớ
Ram,..
Giám sát trạng thái hoạt động dịch vụ và các kết nối khác từ bên ngoài vào hệ
thống Web Server như: Telnet, ssh, http,…
Đưa ra cảnh báo về khả năng hoạt động và xử lý của cpu, đĩa cứng,…với
ngưỡng cho phép qua email
Đưa ra cảnh báo về trạng thái hoạt động dịch vụ và các kết nối khác từ bên
ngoài vào hệ thống như: Telnet, ssh, http,… qua email.
Phân tích được trạng thái hoạt động của hệ thống Web Server thông qua file log
mà hệ thống đã được cảnh báo qua email
Ứng dụng xây dựng hệ thống giám sát và cảnh báo trạng thái hoạt động Web
Server cho khoa Công nghệ thông tin.
1.4.
Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của đề tài là hệ thống giám sát và cảnh báo hệ thống Web
Server. Đồng thời khi đưa vào sử dụng là cơ sở thực tiễn để sinh viên ngàng Mạng
máy tính phân tích và thực hiện theo yêu cầu của Học phần học liên quan.
NGUYỄN THANH VŨ
Trang 3
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
Phạm vi nghiên cứu là xây dựng hệ thống giám sát và cảnh báo Web Server cho
khoa Công nghệ thông tin trường Cao đẳng công nghệ Thủ Đức.
1.5.
Phương pháp nghiên cứu
Khảo sát hiện trạng hoạt động Web Server của khoa Công nghệ thông tin trường
Cao đẳng công nghệ Thủ Đức.
Phân tích các tính năng của các hệ thống giám sát và cảnh báo trên hệ điều hành
Linux để ứng dụng vào xây dựng hệ thống đáp ứng mục tiêu của đề tài.
Xây dựng hệ thống giám sát và cảnh báo trạng thái hoạt động Web Server cho
khoa Cơng nghệ thơng tin.
1.6.
Đóng góp của đề tài
Làm tài liệu tham khảo cho việc nghiên cứu, học tập và giảng dạy của sinh viên
ngành mạng máy tính
Ứng dụng kết quả đề tài cho hệ thống Web Server của trường Cao đẳng công nghệ
Thủ Đức
Tài liệu báo cáo đề tài đăng trên tạp chí khoa học tại trường
1.7.
Kết cấu của đề tài
I.
Phân tích các hệ thống giám sát và cảnh báo trên mã nguồn mở
Linux
II.
III.
Chức năng giám sát và cảnh báo của Nagios
Xây dựng hệ thống giám sát và cảnh báo trạng thái hoạt động web
server cho khoa công nghệ thông tin
IV.
Kết luận
NGUYỄN THANH VŨ
Trang 4
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
I.
Phân tích các hệ thống giám sát và cảnh báo trên mã nguồn mở Linux
1. Nagios
Nagios là một trong những hệ thống giám sát Linux hiển thị kết quả trên nền web phổ
biến nhất hiện nay. Được cấp phép theo GPL Nagios và miễn phí , cho phép giám sát độ
sẵn sàng và thời gian đáp ứng của các dịch vụ mạng, sử dụng tài nguyên hệ thống như tải
CPU, phân bổ RAM, số lượng người dùng đăng nhập...
Khi có bất kỳ sự bất thường nào được phát hiện bởi Nagios trên các máy chủ được giám
sát thì chúng ta sẽ nhận được một cảnh báo từ Nagios. Nagios hỗ trợ một loạt các cảnh
báo bằng email, tin nhắn SMS,... Ngồi ra, Nagios giám sát nhưng nó khơng hiển thị kết
quả giám sát dưới dạng đồ thị điều này là một ưu điểm tốt hơn so với những công cụ giám
sát khác.
2.
Cacti
Cacti là một hệ thống giám sát giao diện web khác được viết bằng ngôn ngữ PHP và cấp
phép theo GPL. Không giống như Nagios mô tả ở trên, Cacti được thiết kế chủ yếu thể
hiện kết quả dưới dạng đồ thị (Graph).
Cacti thăm dò các dịch vụ khác nhau và sau đó sẽ cho người dùng thấy các kết quả giám
sát dưới dạng đồ thị. Nó sử dụng RRDTool để xây dựng đồ thị.
Mặc định Cacti không cung cấp cảnh báo vì thế chúng ta nên cài đặt plugin của bên thứ
ba (Third party) để tích hợp kèm theo hoặc bạn sử dụng giải pháp khác như Nagios.
3. Zabbix
Zabbix là hệ thống giám sát với các chức năng đầy ấn tượng và mạnh mẽ, nó được cấp
phép theo GPL và được viết bằng ngôn ngữ PHP. Zabbix có thể làm các nhiệm vụ tương
tự như Nagios và Cacti ở mặc định, Zabbix dễ dàng đồ thị kết quả dữ liệu theo dõi và gởi
các cảnh báo cho người sử dụng trong trường hợp có bất kỳ vấn đề nào xảy ra. Sử dụng
Zabbix chúng ta có thể tạo bản đồ của các máy chủ, nhóm máy chủ ở nhiều loại khác
nhau.
NGUYỄN THANH VŨ
Trang 5
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
Zabbix có thể thu thập dữ liệu từ máy chủ xa nơi Zabbix Agent/client đang chạy (như
Nagios). Zabbix có các loại đồ thị bao gồm số liệu thống kê mạng, tải CPU, RAM (giống
Cacti)..
4. MRTG
MRTG là công cụ giám sát mã nguồn mở (Open source) khác , công cụ này thu thập dữ
liệu ở local hoặc máy chủ tử xa bằng giao thức SNMP. Nhưng MRTG đơn giản hơn nhiều
so với Cacti, Nagios và Zabbix vì vậy có thể là một lựa chọn tốt nhất cho các dự án nhỏ.
Một trong những ứng dụng phổ biến nhất của MRTG là giám sát các giao diện mạng,
CPU, bộ nhớ sử dụng. Một trong những lợi thế MRTG là nó nó rất dễ dàng để triển khai.
MRTG đã được tạo ra bởi tác giả của RRDTool Obi Oetiker.
5. Nfsen
Nfsen là công cụ giám sát mã nguồn mở. Nfsen chỉ thu thập dữ liệu sử dụng mạng và
hiển thị đồ thị tương tác dựa trên dữ liệu đó.
Kết luận, Mỗi hệ thống có những ưu nhược điểm riêng, sẽ thích hợp cho nhu cầu, mục
đích sử dụng khác nhau dựa vào tính năng của nó.
NGUYỄN THANH VŨ
Trang 6
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
II.
Chức năng giám sát và cảnh báo của Nagios
Nagios là một hệ thống giám sát mạnh mẽ, theo dõi tồn bộ cơ sở hạ tầng cơng nghệ
thơng tin để đảm bảo hệ thống, ứng dụng, dịch vụ hoạt động tốt. Trong trường hợp các hệ
thống không hoạt động, Nagios có thể cảnh báo vấn đề với nhân viên kỹ thuật, cho phép
họ bắt đầu quá trình phục hồi trước khi bị sự cố, ảnh hưởng đến quá trình kinh doanh,
người sử dụng, hoặc khách hàng.
1. Chức năng của Nagios
-
Giám sát trạng thái hoạt động của các dịch vụ mạng (POP3, HTTP, FTP,
SSH, DHCP, DNS, name server, mysql, …)
-
Giám sát các tài nguyên và các thiết bị đầu cuối: tình trạng sử dụng CPU,
người dùng đang logon, tình trạng sử dụng ổ đĩa cứng, tình trạng sử dụng bộ
nhớ trong, 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 tồn thiết bị phần cứng trên host như: nhiệt độ
CPU, tốc độ quạt, pin, giờ hệ thống…
-
Giá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, â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.
2. Giám sát các thiết bị mạng
Máy in
-
Khả năng giám sát của Nagios
Kết nối đến máy in (ping đến máy in)
Kẹt giấy
Hết giấy
Máy in tắt
NGUYỄN THANH VŨ
Trang 7
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
Thiếu bộ nhớ
Khay ra giấy bị đầy
Switch, router
-
Khả năng giám sát của Nagios
Kết nối đến thiết bị (ping thiết bi).
Trạng thái up/down của các cổng.
Sử dụng băng thông, lưu lượng trên các cổng.
3. Giám sát máy đầu cuối
-
Giám sát tài nguyên:
Tải CPU.
Tình trạng sử dụng ổ đĩa cứng
Tình trạng sử dụng bộ nhớ trong và swap.
Số người dùng đang logon, số tiến trình đang chạy và tệp log hệ thống trên
linux Giám sát từng dịch vụ, tiến trình trên window.
-
Giám sát thơng số an tồn phần cứng
Nhiệt độ CPU.
Tốc độ quạt
Pin
Giờ hệ thống
4. Giám sát dịch vụ mạng
Giám sát web server
Thời gian trả lời của web server
Mã lỗi trả về của dịch vụ http (403: khơng tìm thấy tệp, 404: Lỗi xác thực).
Một URL nào đó có nằm trên web server hay không.
Giám sát file server
Giám sát dịch vụ FTP và tạo ra thông báo nếu server không trả lời sau 10
giây
Giám sát mail server
NGUYỄN THANH VŨ
Trang 8
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
Giám sát dịch vụ SMTP server và tạo ra thông báo nếu SMTP server không
trả lời sau 10 giây
Giám sát các dịch vụ khác
Ngoài những dịch vụ trên Nagios cịn có cung cấp việc giám sát các dịch vụ
SSH, LDAP, DHCP, DNS, database, cổng TCP, cổng UDP,..
5. Cảnh báo cho người quản trị
Không phải lúc nào người quản trị cũng có thể dõi theo và nắm bắt mọi hoạt động của
mạng qua giao diện của hệ thống giám sát. Bởi vậy bất cứ hệ thống giám sát mạng nào
cũng cần cung cấp chức năng thông báo cho người quản trị qua các phương tiện truyền tin
như email, sms,…Nagios cung cấp một hệ thống thông báo linh hoạt và qua nhiều
phương tiện truyền tin khác nhau. Trong Nagios, thông báo xảy ra khi host/dịch vụ thay
đổi từ trạng thái này sang trại thái khác. Tuy nhiên không phải bất cứ host/dịch vụ nào
cũng có thể nhận thơng báo. Khi một sự kiện xảy ra với một host/dịch vụ nào đó thì trước
khi quyết định ra một thơng báo cho người quản trị, Nagios sẽ thực hiện kiểm tra:
-
Cấu hình Nagios có cho phép gửi thơng báo hay khơng.
-
Host/dịch vụ được kiểm tra có trong thời gian được lập lịch ngừng hoạt động
(downtime). Nếu host/dịch vụ đang trong thời gian downtime thì các hành động
kiểm tra host/dịch vụ đó vẫn được thực thi. Kết quả lưu lại trong Nagios cịn thơng
báo thì sẽ khơng được gửi đi.
-
Từng host/dịch vụ có thể được cấu hình để chỉ thơng báo cho người quản trị một số
tình trạng nhất định.
-
Mỗi host/dịch vụ có thể được định nghĩa một chu kì thời gian cho thông báo. Nếu
khoảng thời gian thông báo được tạo khơng nằm trong giới hạn này thì thơng báo
cũng bị loại.
-
Nagios kiểm tra cấu hình xem những người dùng Nagios nào được nhận thơng báo
về tình trạng của host/dịch vụ đang được kiểm tra.
5.1. Kiểm tra host
Host được kiểm tra bởi Nagios daemon khi:
NGUYỄN THANH VŨ
Trang 9
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
* Trong khoảng thời gian được định nghĩa trong tùy chọn check_interval (khoảng
thời gian giữa hai lần kiểm tra kế tiếp) và retry_interval (Khoảng thời gian thực hiện kiểm
tra lại để xác nhận khi phát hiện host thay đổi trạng thái) của định nghĩa cấu hình host.
* Khi dịch vụ mà host đó cung cấp thay đổi trạng thái. Thường thì khi dịch vụ
thay đổi trạng thái thì host cũng thay đổi trạng thái. Ví dụ nếu Nagios phát hiện ra dịch vụ
HTTP thay đổi trạng thái từ CRITICAL sang OK, thì rất có thể là host cung cấp dịch vụ
này vừa khởi động lại và đang chạy.
* Khi có host con của host đó bị đặt vào trạng thái UNREARCHABLE. Đó là
trạng thái mà Nagios khơng liên lạc được với host đó hay có thể hiểu là mất đường truyền
đến host đó.
Nagios phân loại host ra ba trạng thái:
* UP : hoạt động bình thường.
* DOWN: tạm dừng hoạt động.
* UNREACHABLE: khơng tìm thấy.
5.2. Kiểm tra dịch vụ
Dịch vụ được kiểm tra bởi Nagios daemon khi:
* Trong khoảng thời gian được định nghĩa trong tùy chọn check_interval (khoảng
thời gian giữa hai lần kiểm tra kế tiếp) và retry_interval (Khoảng thời gian thực hiện kiểm
tra lại để xác nhận khi phát hiện dịch vụ thay đổi trạng thái) của định nghĩa cấu hình dịch
vụ.
Nagios phân loại dịch vụ thành bốn trạng thái:
OK: Hoạt động bình thường.
WARNING: Có thể hoạt động nhưng chưa chính xác hoặc có thể khơng hoạt động.
UNKNOWN: Không xác định được.
CRITICAL: Không hoạt động.
6. Phương thức giám sát
NGUYỄN THANH VŨ
Trang 10
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
Nagios giám sát các máy(Linux) khác bằng NRPE. NRPE là một addon cho Nagios giúp
thực thi các plugin khác để monitor/check các resources (CPU load, memory usage, swap
usage, disk usage, logged in users, running processes, v.v..) và services (http, ftp, v.v..)
trên các máy Linux/Unix ở xa.
Mơ hình và cơ chế làm việc của NRPE được mô tả như sau:
NRPE addon bao gồm 2 thành phần:
Plugin check_nrpe: nằm trên máy Nagios (là monitoring server)
Daemon NRPE: chạy trên máy Linux/Unix (remote host) cần monitor
Khi máy Nagios cần check các resources/services trên máy Linux/Unix ở xa:
Nagios sẽ thực thi plugin check_nrpe và cho biết resource/service nào cần check
Plugin check_nrpe sẽ liên lạc với daemon NRPE trên remote host. 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 resource/service đượ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 process
NGUYỄN THANH VŨ
Trang 11
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
III.
Xây dựng hệ thống giám sát và cảnh báo trạng thái hoạt động web server cho
khoa công nghệ thông tin.
1. Mơ hình
Hệ thống máy chủ ảo hóa từ máy chủ vật lý của khoa
Mơ hình thực hiện theo hiện trạng của khoa
NGUYỄN THANH VŨ
Trang 12
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
Ảo hóa từ máy chủ vật lý 1
192.168.1.0/24
MONITOR
SYSTEM
...
INTERNET
Ảo hóa từ máy chủ vật lý 2
192.168.1.0/24
USERS
Web Redmine Svn E-learning
...
Mô hình thực hiện mơ phỏng
Các hệ thống được sử dụng từ máy chủ ảo hóa
Mơ hình gồm:
-
2 Server làm Web Server và Monitor system chạy hệ điều hành Centos
-
1 Client chạy hệ điều hành Windows 7
NGUYỄN THANH VŨ
Trang 13
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
INTERNET
Ảo hóa từ máy chủ vật lý
192.168.1.0/24
WEB SERVER
MONITOR
SYSTEM
CLIENT
2. Cài đặt và cấu hình
MONITOR SYSTEM:
Operating system : CentOS 7 minimal server
IP Address
: 192.168.1.168/24
Cài Apache:
yum install httpd -y
systemctl start httpd
systemctl enable httpd
Cấu hình Firewall cho http
firewall-cmd --permanent --add-service=http
systemctl restart firewalld
Kiểm tra Apache chạy thành công:
NGUYỄN THANH VŨ
Trang 14
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
Cài đặt thư viên
yum install gd gd-devel gcc glibc glibc-common wget
Tạo User và Group Nagios
useradd -m nagios
passwd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagcmd apache
Download Nagios And Plugins
wget />wget /> Cài đặt Nagios And Plugins
tar xzf nagios-4.0.8.tar.gz
cd nagios-4.0.8
./configure --with-command-group=nagcmd
make all
NGUYỄN THANH VŨ
Trang 15
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
make install
make install-init
make install-config
make install-commandmode
Cài đặt Nagios Web interface
make install-webconf
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Khởi động Apache
systemctl restart httpd
Cài đặt Nagios plugins
tar xzf nagios-plugins-2.0.3.tar.gz
cd nagios-plugins-2.0.3
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
Cấu hình nhận các cảnh báo qua email:
vi /usr/local/nagios/etc/objects/contacts.cfg
[...]
define contact{
contact_name
use
nagiosadmin
generic-contact
; Short name of user
; Inherit default values from generic-
contact template (defined above)
alias
email
Nagios Admin
; Full name of user
Nagios@localhost ; <<***** CHANGE THIS TO YOUR
EMAIL ADDRESS ******
}
[...]
NGUYỄN THANH VŨ
Trang 16
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
Cấu hình /etc/httpd/conf.d/nagios.conf cho phép truy cập Nagios
[...]
## Comment the following lines ##
# Order allow,deny
# Allow from all
## Uncomment and Change lines as shown below ##
Order deny,allow
Deny from all
Allow from 127.0.0.1 192.168.1.0/24
[...]
Khởi động lại Apache
systemctl restart httpd
Khởi động Nagios
systemctl start nagios
chkconfig --add nagios
chkconfig nagios on
Hiệu chỉnh lại Selinux
Default, SELinux will ở chế độ enforcing mode, đưa ra thông báo lỗi “Internal
Server Error” khi truy cập đến Nagios CGIs.
Do đó, chúng ta cần hiệu chỉnh file /etc/selinux/config:
vi /etc/selinux/config
And, set SELinux to permissive mode.
[...
SELINUX=permissive
[...]
NGUYỄN THANH VŨ
Trang 17
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
Kiểm tra truy cập Nagios Web Interface
Click Hosts để xem các máy giám sát:
Để xem chi tiết D_click vào từng host giám sát:
NGUYỄN THANH VŨ
Trang 18
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
Thêm máy chủ web server cần giám sát:
Tại bước này, chúng ta thực hiện cài đặt nrpe and nagios-plugins trên máy WEB
SERVER(Xem cài đặt bên máy web server)
Tiếp theo, tại máy server thêm máy Web Server để giám sát:
vi /usr/local/nagios/etc/nagios.cfg
## Find and uncomment the following line ##
cfg_dir=/usr/local/nagios/etc/servers
Tạo folder servers:
mkdir /usr/local/nagios/etc/servers
Tạo và cấu hình file ckients.cfg để được giám sát:
vi /usr/local/nagios/etc/servers/clients.cfg
Như vậy, Máy ServerDemo có địa chỉ 192.168.1.177 là máy được giám sát
NGUYỄN THANH VŨ
Trang 19
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
Khởi động lại nagios
Systemctl nagios restart
Định nghĩa các dịch vụ giám sát máy WEB SERVER, ví dụ SSH và HTTP:
Khởi động lại nagios và xem kết quả
NGUYỄN THANH VŨ
Trang 20
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
Định nghĩa các chức năng giám sát máy chủ web server
define service{
use generic-service
host_name ServerDemo
service_description Current Users
check_command check_local_users!20!50
}
Định nghĩa service trên đây yêu cầu Nagios giám sát số lượng người dùng trên máy
chủ với tên linux-servers đã được định nghĩa ở host, nếu số lượng lớn hơn 20 sẽ đưa ra
cảnh báo warning, nếu lớn hơn 50 sẽ đưa ra cảnh báo critical.
define service{
use generic-service
host_name winserver
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}
Định nghĩa service trên đây yêu cầu Nagios giám sát CPU của máy chủ có trên
winserver đã được định nghĩa ở host, việc giám sát sẽ thực hiện kiểm tra CPU sau
khoản 5 phút, nếu vượt 80 % sẽ cảnh báo warning, nếu vượt 90% sẽ cảnh báo critical.
#Giám sát HTTP
define service{
use
NGUYỄN THANH VŨ
generic-service
Trang 21
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
host_name
ServerDemo
service_description
HTTP
check_command
check_http
notifications_enabled
0
}
#Giám sát phân vùng Swap
define service{
use
generic-service
host_name
ServerDemo
service_description
Swap Usage
check_command
check_local_swap!20!10
}
#Giám sát phân vùng chính
define service{
use
generic-service
host_name
ServerDemo
service_description
Root Partition
check_command
check_local_disk!20%!10%!
}
#Giám sát ping
define service{
use
generic-service
host_name
ServerDemo
service_description
PING
check_command
check_ping!100.0,20%!500.0,60%
}// RTA giám sát việc mất gói tin và RTA(round trip average)
Dịch vụ này trả về:
- CRITICAL, nếu round trip average (RTA) lớn hơn 600 milliseconds hoặc số gói bị
mất trên 60%,
NGUYỄN THANH VŨ
Trang 22
Hệ thống giám sát và cảnh báo hoạt động mạng máy tính
- WARNING, cảnh báo nếu RTA lớn hơn 200ms hoặc gói tin bị mất lớn hơn 20%.
- OK, Ngược lại chạy bình thường nếu RTA nhỏ hơn 200ms và số gói bị mất nhỏ
hơn 20%.
#Giám sát POP
define service{
use
generic-service
host_name
ServerDemo
service_description
POP
check_command
check_pop!
}
#Giám sát IMAP
define service{
use
generic-service
host_name
ServerDemo
service_description
IMAP
check_command
check_imap!
}
#Giám sát SMTP
define service{
use
generic-service
host_name
ServerDemo
service_description
SMTP
check_command
check_smtp!
}
#Giám sát DNS
define service{
use
generic-service
host_name
ServerDemo
service_description
DNS
check_command
NGUYỄN THANH VŨ
check_dns!fit.tdc.edu.vn!192.168.1.177!10!20
Trang 23