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

quản lý hệ thống mạng sử dụng nagios

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 (1.04 MB, 34 trang )

Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 1

LỜI NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………


……………………………………………………………………
……………………………………………………………………


Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 2

LỜI NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………

……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………


Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 3

LỜI CẢM ƠN




Sau thời gian một học kỳ thực hiện đề tài tốt nghiệp “Tìm hiểu và ứng dụng hệ
thống giám sát mạng với phần mềm mã nguồn mở NAGIOS” đã hoàn thành. Ngoài
những nỗ lực của bản thân, em đã nhận được không ít sự khích lệ và động viên từ gia
đình, nhà trường và bạn bè.

Em xin cảm ơn các thầy cô trường Đại Học Nha Trang đã truyền đạt kiến thức
cho em trong suốt quá trình học tập để hoàn thiện đề tài này. Đặc biệt em xin bày tỏ
lòng chân thành sâu sắc đối với thầy Phạm Văn Nam, người đã tận tình hướng dẫn và
giúp đỡ em hoàn thành đề tài tốt nghiệp.

Xin cảm ơn gia đình và bạn bè đã quan tâm, động viên và giúp đỡ trong quá
trình học tập và hoàn thành đề tài tốt nghiệp này.




Nha Trang, ngày tháng năm 2010
SVTH: Huỳnh Thanh Tâm












Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 4

MỤC LỤC

Mở đầu 5
Chương 1: Tổng quan hệ thống giám sát mạng 7
Chương 2: Hệ thống giám sát mạng sử dụng mã nguồn mở với NAGOIS 15
Chương 3: Phát triển ứng dụng hệ thống giám sát 29
Chương 4: Kết luận 32






























Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 5


MỞ ĐẦU

I. Sơ lược về đề tài
 Thực hiện việc giám sát trạng thái các Server và các dịch vụ chạy trên máy
Server.
 Thực hiện việc giám sát các trạng thái và lưu lượng trên các cổng Switch và
Router.
 Thực hiện việc phát cảnh báo thông qua giao diện web và âm thanh khi một host
hay một dịch vụ down.
II. Mục tiêu đề tài
 Xem xét các giải pháp giám sát hệ thống mạng, theo dõi tình trạng hoạt động
của các Server, Switch, Router, và một số dịch vụ mạng.
 Phát triển hệ thống cảnh báo qua Web và Audio (âm thanh).
III. Đối tượng nghiên cứu
 Phần mềm mã nguồn mở Nagios dùng để giám sát các thiết bị và dịch vụ mạng.
 Phần mềm mã nguồn mở Nagios tích hợp với Cacti để giám sát các thiết bị và
dịch vụ mạng.
IV. Nội dung nghiên cứu
 Nghiên cứu các giải pháp giám sát hoạt động các thiết bị mạng, chủ yếu là tình
trạng hoạt động (up/down) của các Server.
 Nghiên cứu các giải pháp giám sát hoạt động dịch vụ trong hệ thống mạng:
HTTP, FTP, …
 Đề xuất công cụ nguồn mở hỗ trợ giám sát hoạt động của các thiết bị, dịch vụ
mạng.
Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 6

 Thực nghiệm một giải pháp giám sát hoạt động của các thiết bị mạng, các dịch

vụ mạng trên cơ sở nguồn mở kết hợp với hệ thống báo động đa dạng qua Web,
Audio (âm thanh).
Trong đề tài này được tổ chức thành 4 chương:
 Chương 1: Tổng quan về hệ thống giám sát mạng.
 Chương 2: Hệ thống giám sát mạng sử dụng với mã nguồn mở Nagios.
 Chương 3: Phát triển ứng dụng hệ thống giám sát mạng sử dụng Nagios.
 Chương 4: Kết luận.















Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 7

Chương 1. TỔNG QUAN VỀ HỆ THỐNG GIÁM SÁT MẠNG

1.1 Giới thiệu.
Ngày nay khoa học kỹ thuật phát triển càng ngày một nhanh hơn, đặc biệt là

công nghệ thông tin. Nhu cầu ứng dụng công nghệ thông tin của các tổ, các công ty
ngày càng cao đặc biệt là hệ thống mạng máy tính. Có lẽ nhờ hiểu rõ được tầm quan
trọng và những ưu điểm vượt trội của việc bảo mật, trao đổi thông tin của hệ thống
Mạng máy tính mà số lượng các công ty, doanh nghiệp thiết lập, sử dụng hệ thống
mạng ngày càng nhiều. Từ những công ty có quy mô nhỏ, vừa đến các doanh nghiệp,
tập đoàn tầm cỡ, không nơi nào không có sự xuất hiện của hệ thống Mạng trong khâu
quản lý công việc của nhân viên, trong công tác quản lý, bảo mật và lưu trữ dữ liệu của
công ty hay các thông báo, thông tin giữa các cá nhân trong cùng một tổ chức. Bên
cạnh đó để đảm bảo cho công việc được thực hiện một cách nhịp nhàng thì hệ thống
mạng phải được vận hành thông suốt hoặc khi có sự cố thì phải đảm bảo thời gian sửa
chữa là nhanh nhất để không ảnh hưởng tới công việc. Do vậy vấn đề cấp thiết ở đây là
phải ứng dụng một hệ thống giám sát mạng, để theo dõi tình trạng hoạt động của hệ
thống mạng, khi có sự cố về hệ thống mạng thì dễ dàng phát hiện để kịp thời sửa chữa
để đảm bảo cho hệ thống mạng luôn hoạt động ổn định.
1.2 Chức năng của hệ thống giám sát mạng
 Cảnh báo qua Web, Email và SMS khi phát hiện tấn công vào hệ thống mạng.
 Báo động bằng âm thanh và SMS khi một host (Server, Router, Switch…) hoặc
một dịch vụ mạng ngưng hoạt động.
 Giám sát lưu lượng mạng qua các cổng giao tiếp trên Router, Switch, Server…
hiển thị qua các đồ thị trực quan, thời gian thực. Giám sát lưu lượng giữa các
thiết bị kết nối với nhau một cách trực quan.
Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 8

1.3 SNMP và hệ thống giám sát mạng
SNMP (Simple Network Management Protocol) là một giao thức chính được sử
dụng cho mục đích theo dõi tình trạng hoạt động của các thiết bị trong hệ thống mạng.
SNMP làm nhiệm vụ thu thập thông tin từ các thiết bị mạng (Router, Switch, Server…)
cần giám sát và gửi về cho chương trình giám sát, để phân tích và sử dụng để hiển thị

ra giao diện quản trị các thông tin cần thiết theo mục đích của chương trình giám sát.
Trong SNMP có 3 vấn đề cần quan tâm: Manager, Agent và MIB (Management
Information Base).
- MIB: là cơ sở dữ liệu dùng phục vụ cho Manager và Agent.
- Manager: nằm trên máy chủ giám sát hệ thống mạng.
- Thành phần Agent: là một chương trình nằm trên các thiết bị cần giám sát,
quản lý. Agent có thể là một chương trình riêng biệt (ví dụ như daemon trên Unix) hay
được tích hợp vào hệ điều hành, ví dụ như trong IOS của các thiết bị Cisco. Nhiệm vụ
của các Agent là thông báo các thông tin đến cho thành phần điều khiển được cấu hình
nằm trên máy chủ giám sát.
SNMP sử dụng UDP (User Datagram Protocol) như 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
được trao đổi, 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 đuợ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.

Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 9

1.4 Một số phần mềm nguồn mở hỗ trợ trong việc giám sát mạng
 Snort
Snort là một phần mềm mã nguồn mở cho phép giám sát, phát hiện những dấu hiện
tấn công mạng. Snort được nhiều tổ chức phát triển và biến thành sản phẩm thương
mại như Sourcefire, Astaro, …
Snort bao gồm các thành phần chính :
o Bộ phận giải mã gói - Packet Decoder.
o Bộ tiền xử lý – Preprocessor.

o Bộ phận phát hiện - Detection Engine.
o Hệ thống ghi log và cảnh báo - Logging và Alerting System.
o Module xuất kết quả - Output Modules.

Hình 1.1: Các thành phần của Snort
Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 10

o Bộ phận giải mã gói - Packet Decoder
Thu thập các gói tin từ các cổng (interface) và chuẩn bị cho việc gói tin được xử
lý trước hoặc gửi cho bộ phận phát hiện.
o Bộ tiền xử lý - Preprocessor
Được sử dụng để sắp xếp hoặc chỉnh sửa gói dữ liệu trước khi bộ phận phát hiện
làm một vài xử lý để tìm ra gói tin có được sử dụng bởi kẻ xâm nhập hay không.
Bộ tiền xử lý cũng thực thi việc phát hiện bằng cách tìm các dấu hiệu bất thường
trong các header của gói tin và tạo ra các cảnh báo.
Bộ phận tiền xử lý là rất quan trọng trong bất kỳ hệ thống phát hiện nào, chúng
chuẩn bị cho các gói dữ liệu được phân tích dựa trên các luật trong bộ phận phát
hiện.
o Bộ phận phát hiện - Detection Engine
Đây là phần quan trọng nhất trong Snort. Trách nhiệm của nó là phát hiện có sự
xâm nhập tồn tại trong gói tin hay không. Bộ phận phát hiện sử dụng các luật
của Snort cho mục đích này. Nếu một gói tin giống với một luật nào, một hành
động tương ứng sẽ được thực hiện, cuộc tấn công được ghi lại hoặc tạo ra cảnh
báo.
o Hệ thống ghi log và cảnh báo - Logging và Alerting System
Phụ thuộc cái mà bộ phận phát hiện tìm thấy trong gói tin, gói tin có thể được sử
dụng để ghi lại các hành vi hoặc tạo ra các cảnh báo. Các thông tin ghi lại được
giữ trong các file text đơn giản hoặc các dạng khác như trong cơ sở dữ liệu

MySQL,
o Module xuất kết quả - Output Modules
Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 11

Module xuất kết quả có thể hoạt động theo nhiều cách phụ thuộc vào việc chúng
ta muốn lưu các output được tạo ra bằng hệ thống ghi và tạo cảnh báo như thế
nào. Phụ thuộc vào việc cấu hình, output module có thể làm một số việc dưới
đây: ghi dữ liệu vào file log, gởi SNMP traps, gởi các thông báo đến Syslog, ghi
log vào CSDL như MySQL hoặc Oracle, tạo ra XML, điều chỉnh cấu hình
Router hoặc tường lửa.
Một số công cụ khác có thể dùng gởi cảnh báo ở dạng khác như Email, SMS
hoặc xem cảnh báo qua giao diện Web.
 Cacti:
Cacti là một phần mềm nguồn mở hỗ trợ trong việc giám sát các lưu lượng mạng.
Cacti trong hệ thống được dùng để giám sát lưu lượng qua các Switch, Router và các
Server trong hệ thống mạng.

Hình 1.2: Sơ đồ hoạt động của Cacti
Cacti thể hiện lưu lượng qua các đồ thị trực quan. Điều này giúp cho người quản trị
theo dõi được sự bất thường trong hệ thống. Những bất thường này có thể là những dấu
hiệu của tấn công xâm nhập hoặc sự quá tải của một số thiết bị mạng trong hệ thống.
Cacti sử dụng giao thức SNMP để thu thập thông tin từ các thiết bị, lưu trữ thông tin và
vẽ hình trên các đồ thị.
Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 12



Hình 1.3: Sơ đồ trao đổi thông tin SNMP giữa Cacti và một thiết bị
Để tạo ra những đồ thị, Cacti cần thu thập dữ liệu. Nếu hệ thống mạng lớn yêu cầu phải
có phương pháp quản lý dữ liệu. Dữ liệu thu thập được từ SNMP được lưu trữ vào cơ
sở dữ liệu MySQL.
Cacti có khả năng giám sát lưu lượng vào/ra các cổng của thiết bị cần theo dõi, giám
sát mức độ hoạt động của CPU và bộ nhớ, cho phép đưa sơ đồ mạng trực quan vào hệ
thống và tương tác với mô hình này. Ngoài ra, Cacti phát báo động bằng âm thanh khi
có sự cố, các sự cố này được chỉ ra cho hệ thống như: có một thiết bị đang giám sát
ngưng hoạt động, lưu lượng vượt quá một ngưỡng được thiết lập trước…
Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 13


Hình 1.4: Cacti biểu diễn các lưu lượng bằng dạng đồ thị thời gian thực.
Mặc định Cacti có ít tính năng, như hình trên chúng ta thấy rằng Cacti chỉ hổ trợ 2 mục
là Console và Graph. Trong đó, phần Console cho phép điều chỉnh các thông số như
chọn thiết bị cần giám sát lưu lượng và hiển thị đồ thị lưu lượng trong phần Graph.
Một đặc điểm quan trọng của Cacti là cho phép tích hợp nhiều thành phần khác, cũng
như nhiều phần mềm khác vào nó.
 Nagios:
Nagios là một phần mềm mã nguồn mở hỗ trợ trong việc giám sát hoạt động của
các host và các dịch vụ trong mạng. Giúp giám sát hoạt động một số thiết bị trung tâm
trong mạng như Server, Switch, Router, …
Để giám sát các máy chạy hệ điều hành Windows, chúng ta có thể sử dụng trực tiếp
thông qua SNMP hoặc sử dụng phần mềm NSClient++ (tích hợp SNMP) để lấy thêm
nhiều thông tin hơn từ máy Windows.
Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 14



Hình 1.5: Nagios theo dõi các dịch vụ trên máy chạy hệ điều hành Windows qua
NSClient++.
Cũng tương tự như vậy, chúng ta có thể sử dụng SNMP để giám sát các máy chạy hệ
điều hành Linux qua việc cài đặt gói NRPE (tích hợp SNMP) để giám sát host và các
dịch vụ trên máy chạy hệ điều hành Linux.

Hình 1.6: Nagios giám sát các dịch vụ trên máy chạy hệ điều hành Unix/Linux qua
NRPE.







Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 15

Chương 2. HỆ THỐNG GIÁM SÁT MẠNG SỬ DỤNG VỚI
MÃ NGUỒN MỞ NAGIOS

2.1 Giới thiệu về Nagios




Hình 2.1: Nagios giám sát thiết bị và dịch vụ.

Nagios là một phần mềm mã nguồn mở hỗ trợ giám sát hoạt động của các thiết bị và
các dịch vụ trong mạng. Nagios giúp giám sát hoạt động một số thiết bị trung tâm trong
mạng như Server, Switch, Router, Đồng thời kết hợp với bộ phận phát cảnh báo qua
giao diện Web và âm thanh (Audio) phát cảnh báo trong trường hợp một thiết bị ngưng
hoạt động hoặc một dịch vụ mạng ngưng hoạt động.
Nagios giám sát các thiết bị mạng thông qua các giao thức SNMP, … để theo dõi trạng
thái hoạt động của các thiết bị. Đồng thời, Nagios còn cho phép thiết lập cơ chế giám
sát hoạt động của các dịch vụ mạng. Các dịch vụ phổ biến được giám sát như: HTTP,
FTP, SMTP, POP3, …
2.2 Vì sao phải dùng Nagios
Sức mạnh của nagios:
Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 16

 Phần mềm mã nguồn mở.
 Rất mạnh và đáng tin cậy.
 Cấu hình mạnh.
 Dễ mở rộng.
 Chủ động phát triển.
 Được sử dụng rộng rãi.
 Chạy trên nhiều hệ điều hành.
Nagios sử dụng để giám sát các thành phần sau:
 Ping để quan sát nếu host là Reachable.
 Các dịch vụ như là DHCP, DNS, FTP, SSH, Telnet, HTTP, NTP, POP3, IMAP,
SMTP…
 Database servers như là MySQL, Postgres, Oracle, SQL Server …
 Application level information (Apache, Postfix, LDAP, Citrix ).
2.3 Các điểm đặc trưng của Nagios
 Giám sát các dịch vụ mạng (HTTP, SMTP, POP3, PING, NNTP, …).

 Giám sát các tài nguyên của host (processor load, disk usage, ).
 Có khả năng định nghĩa hệ thống cấp bậc của các host trên hệ thống mạng bằng
cách sử dụng parent hosts. Cho phép phát hiện và phân biệt giữa hai trạng thái
down và unreachable của host.
 Cho phép người dùng dễ dàng phát triển các dịch vụ kiểm tra của chính họ.
 Đưa ra cảnh báo khi phát hiện các vấn đề xảy ra trên các dịch vụ hoặc các host
và giải quyết các xung đột đó.
 Có thể định nghĩa các công việc sẽ xử lý khi các dịch vụ hoặc các host gặp phải
sự cố.
 Tự động log file theo kiểu xoay vòng.
 Hỗ trợ việc giám sát các host dư thừa.
Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 17

 Theo dõi trạng thái, khai báo, các vấn đề đã từng xảy ra của mạng thông qua
giao diện Web.
2.4 Hoạt động của Nagios
Nagios chạy trên một máy Server, nó sẽ chạy plugins theo định kỳ trên máy server
và sẽ liên lạc với các host và Server trên hệ thống mạng của bạn hoặc trên internet. Bạn
sẽ nhận được các thông tin gửi tới Nagios và bạn sẽ biết được các thông tin trạng thái
thông qua giao diện web. Bạn cũng có thể nhận được các cảnh báo thông qua email,
âm thanh hoặc SMS nếu có sự cố xảy ra trên các host hoặc dịch vụ mà bạn cần giám
sát.
2.5 Nagios plugins
Ở phần trên chúng ta đã đề cập đến plugins, bây giờ chúng ta sẽ tìm hiểu xem
plugins là gì?
 Plugins là việc biên dịch chương trình hoặc các Scrip (Perl scripts, shell scripts,
etc.). Nó có thể chạy từ 1 dòng lệnh để kiểm tra trạng thái một host hoặc dịch
vụ. Nagios sử dụng kết quả của plugins để xác định trạng thái hoạt động của

các host và dịch vụ trong hệ thống mạng. Nagios sẽ thực thi một plugins bất kỳ
lúc nào để kiểm tra trạng thái các host và dịch vụ. Kết quả của việc thực hiện
kiểm tra sẽ được truyền tới nagios để xử lý.
 Plugins như là một abstraction layer

Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 18


Hình 2.2: Mô hình hoạt động của plugins.
Plugins hoạt động như một lớp trừu tượng giữa hệ thống giám sát logic với các
dịch vụ và host đang được giám sát.
 Plugins có sẵn để giám sát nhiều loại thiết bị và dịch vụ khác nhau, bao gồm :
o HTTP, POP3, IMAP, FTP, SSH, DHCP.
o CPU Load, sử dụng đĩa, sử dụng bộ nhớ, người dùng hiện tại.
o Unix/Linux, Windows, and Netware Servers.
o Router và Switch.
2.6 Giám sát máy chạy hệ điều hành Windows
Nagios có thể giám sát các dịch vụ và các thuộc tính của máy chạy hệ điều hành
Windows như là:
 Sử dụng bộ nhớ.
 Tình trạng CPU.
 Sử dụng ổ đĩa.
 Trạng thái của các dịch vụ.
 Các tiến trình đang chạy.
Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 19


 …

Hình 2.3: Nagios theo dõi các dịch vụ trên máy chạy hệ điều hành Windows qua
NSClient++.
Để giám sát các dịch vụ hoặc các thuộc tính trên máy Windows thì ta cần phải cài một
agent lên chúng. Agent này hoạt động như là một proxy giữa Nagios plugins với các
dịch vụ hoặc các thuộc tính cần giám sát của máy Windows.
Ví dụ trên chúng ta sẽ cài đặt NSClient++ trên máy Windows, sử dụng check_nt plugin
để giao tiếp với NSClient++. Check_nt plugin được cài đặt trên máy Nagios Server.
Để giám sát các host Windows, chúng ta có thể sử dụng trực tiếp thông qua giao thức
SNMP để thu thập thông tin tư máy Windows.
Các bước để giám sát một máy Windows mới là:
 Thực hiện các yêu cầu ban đầu.
 Cài đặt 1 agent giám sát trên máy Windows.
 Tạo một host mới và xác định các dịch vụ cần được giám sát trên máy
Windows.
 Khởi động lại Nagios.
2.7 Giám sát các máy chạy hệ điều hành Linux/Unix
Nagios có thể giám sát các dịch vụ và các thuộc tính của các máy Linux/Unix như
là:
Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 20

 Sử dụng bộ nhớ.
 Tình trạng CPU.
 Sử dụng ổ đĩa.
 Người dùng đăng nhập.
 Các tiến trình đang chạy.
 …


Hình 2.4: Nagios giám sát các dịch vụ trên máy chạy hệ điều hành Linux/Unix qua
NRPE.
Để giám sát máy Linux thì ta cần phải cài đặt NRPE trên máy Linux cần giám sát.
NRPE cho phép bạn thực thi Nagios plugins trên máy Linux được gọi.
Chú ý: Có thể thực thi Nagios plugins trên máy Linux/Unix thông qua khóa chia sẻ
SSH với check_by_ssh plugin để thực thi plugins trên máy server giám sát. Sử dụng
SSH thì an toàn hơn so với NRPE nhưng CPU sẽ xử lí nhiều trên cả máy giám sát và
máy cần giám sát. Điều này sẽ không hiệu quả khi ta muốn giám sát hàng trăm hàng
nghìn máy. Vì vậy nhiều người quản trị sẽ lựa chọn phương pháp cài NRPE trên máy
Linux/Unix để tránh tình trạng trên.
NPRE gồm hai phần:
 Check_nrpe plugin được cài đặt trên máy giám sát.
 NRPE daemon chạy trên máy Linux/Unix cần được giám sát.
Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 21

Khi Nagios cần giám sát một tài nguyên của một dịch vụ từ máy Linux/Unix được gọi
thì:
 Nagios sẽ thực thi check_nrpe plugin và gọi những dịch vụ nào cần được kiểm
tra.
 Check_nrpe plugin sẽ liên lạc với NRPE daemon trên một host thông qua kết
nối SSL-protected.
 Các daemon NRPE chạy các plugin Nagios thích hợp để kiểm tra dịch vụ hoặc
tài nguyên.
 Các kết quả từ việc kiểm tra dịch vụ được truyền từ NRPE daemon trở về
check_nrpe plugin và sau đó trả về kết quả kiểm tra cho Nagios.
2.8 Giám sát máy in


Hình 2.5: Máy in hỗ trợ giao thức SNMP
Check_hpjd plugin (là một phần của chuẩn Nagios plugin) cho phép bạn theo dõi
tình trạng của máy in có hỗ trợ giao thức SNMP. Check_hpjd plugin có khả năng phát
hiện các trạng thái máy in như sau:
 Kẹt giấy.
 Hết giấy.
 Máy in tắt.
 Các yêu cầu xen vào.
 Hết mực.
 Không đủ bộ nhớ.
 …
Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 22


Hình 2.6: Nagios giám sát các tình trạng của máy in.
Giám sát trạng thái của một máy in nối mạng là khá đơn giản. Máy in JetDirect thường
có SNMP được kích hoạt, cho phép Nagios theo dõi trạng thái của nó bằng cách sử
dụng các check_hpjd plugin. Check_hpjd plugin sẽ chỉ nhận được biên dịch và cài đặt
nếu bạn có các gói net-snmp và net-snmp-utils được cài đặt trên hệ thống của bạn.
Các bước để giám sát một máy in mới là:
 Thực hiện các yêu cầu ban đầu.
 Tạo ra một host mới, xác định host và dịch vụ cần được giám sát trên máy in.
 Khởi động lại Nagios.
2.9 Giám sát Router và Switch


Hình 2.7: Switch.
Đối với những Switch rẻ tiền thì không hỗ trợ việc thiết lập địa chỉ IP thì ta không

thể giám sát chúng. Đối với các Switch và Router đắc tiền thì chúng ta có thể giám sát
Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 23

bằng cách Ping hoặc sử dụng giao thức SNMP để kiểm tra các thông tin trạng thái của
chúng.
Các thông tin cần được giám sát như:
 Gói tin mất.
 Thông tin về trạng thái của SNMP.
 Băng thông, tốc độ đường truyền.


Hình 2.8: Nagios giám sát Switch.
Switch và Router có thể được theo dõi một cách dễ dàng bằng cách "pinging" chúng để
xác định mất gói, RTA,… Nếu Switch của bạn hỗ trợ SNMP thì bạn có thể giám sát
tình trạng port,… với các check_snmp plugin và băng thông (nếu bạn đang sử dụng
MRTG) với các check_mrtgtraf plugin. Các check_snmp plugin sẽ được biên dịch và
cài đặt nếu bạn có net-snmp và snmp-net-utils gói được cài đặt trên hệ thống của bạn.
Một vài bước bạn sẽ cần phải làm theo để theo dõi một Router mới hoặc Switch:
 Thực hiện các yêu cầu ban đầu.
 Tạo host mới và định nghĩa các dịch vụ cần giám sát.
 Restart Nagios daemon.
Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 24

2.10 Cài đặt và cấu hình Nagios trên máy chạy hệ điều hành Linux
Các bước cài đặt như sau:
Download NAGIOS và các Plugins tại hoặc

.
Tạo account: username: nagios ; group: nagios.
# useradd nagios
# passwd nagios
# groupadd nagios
# usremod -a -G nagios nagios
Yêu cầu các gói sau phải cài trước:
apache, php, gcc, glibc, glibc-common, gd, gd-devel.
# yum install httpd php gcc glibc glibc-common gd gd-devel
Di chuyển vào source của NAGIOS và install bằng các lệnh:
#./configure with-command-group=nagios
# make all
# make install
# make install-init
# make install-config
# make install-commandmode
# make install-webconf
Tạo user để truy cập web NAGIOS (user: nagiosadmin, password:
nagiosadmin).
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Restart apache:
# service httpd restart
Cấu hình plugins:
Lưu ý: gán quyền truy xuất cho user nagios:
Khóa luận tốt nghiệp GVHD: Th.s Phạm Văn Nam

SVTH: Huỳnh Thanh Tâm Trang 25

#chown nagios.nagios /usr/local/nagios
#chown -R nagios.nagios /usr/local/nagios/libexec

Cấu hình các file cấu hình trong NAGIOS:
# /usr/local/nagios/etc/nagios.cfg
# /usr/local/nagios/etc/objects/***.cfg
Kiểm lỗi trong quá trình cấu hình:
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
# service nagios restart
Đưa nagios vào system startup (Khi hệ thống khởi động thì Nagios khởi
động):
# chkconfig add nagios
# chkconfig nagios on
Cài nagios plugins:
# tar -zxvf nagios-plugins-1.4.14.tar.gz
# cd nagios-plugins-1.4.14
# ./configure with-nagios-user=nagios with-nagios-group=nagios
# make
# make install
Kiểm tra hoạt động hệ thống qua giao diện web.
Dùng trình duyệt web, đăng nhập với url: http://ip-address/nagios.
Đăng nhập với account: nagiosadmin/nagiosadmin.

×