Tải bản đầy đủ (.docx) (27 trang)

TÌM HIÊU NAGIOS VÀ ỨNG DỤNG VÀO VIỆC ĐẢM BẢO AN NINH MẠ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 (718.59 KB, 27 trang )

HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA AN TOÀN THÔNG TIN

BÁO CÁO BÀI TẬP LỚN
ĐỂ TÀI 1 :Tìm hiểu chương trình Nagios
và khả năng ứng dụng vào bảo đảm an ninh cho mạng máy tính.
Giáo viên hướng dẫn:
Nguyễn Thị Hồng Hà
Sinh viên thực hiện:
Bùi Đức Thiện
Lê Xuân Đoàn
Ngô Đức Nam
Hà Nội, tháng 03 năm 2015

MỤC LỤC

DANH MỤC HÌNH VẼ
Hình 1.1: Các đối tượng cần giám sát trên Nagios 4
Hình 1.2: Ví dụ mô tả sự cố 7
Hình 1.3: Kiểm tra trạng thái 8
Hình 2.1 Giao tiếp giữa Nagios và Window … 13
Hình 2.2: Thông tin các dịch vụ trên Sample Client ……18
Hình 2.3:Thông tin về Sample client …18
ình 3.3 : Các cảnh báo mà Nagios thông báo …20
Hình 3.2 : Các host mà Nagios đang giám sát …20
Hình 3.1 : Mô hình triển khai thực tế …21
LỜI NÓI ĐẦU
Trong thời đại công nghệ thông tin hiện nay việc sử dụng các ứng dụng để
quản lý mạng ngày càng trở nên cần thiết. Mọi cơ quan, doanh nghiệp ngày càng phát
triển phạm vi lớn mạnh với quy mô lớn và ngày phức tạp, do đó việc sử dụng các
phần mềm quản lý mạng sẽ hỗ trợ rất tốt cho việc quản lý mạng. Ngay trong đề tài


này chúng em đi vào tìm hiểu phần mềm quản lý mạng Nagios. Đây là một hệ thống
giám sát mạnh mẽ cho phép các tổ chức xác định và giải quyết các vấn đề cơ sở hạ
tầng CNTT trước khi chúng ảnh hưởng nghiêm trọng đến quá trình hoạt động của các
tổ chức, cơ quan hay doanh nghiệp.
Trong quá tìm hiểu đề tài chắc rằng sẽ còn nhiều những hạn chế và thiếu sót
chúng em rất mong nhận được sự chỉ bảo của Cô giáo và sự đóng góp ý kiến của các
bạn trong lớp để đề tài của nhóm em được hoàn thiện hơn.
CHƯƠNG 1:TỔNG QUAN VỀ NAGIOS
1.1 Tổng Quan về Nagios
Nagios là một hệ thống giám sát mạnh mẽ cho phép các tổ chức xác định
và giải quyết các vấn đề cơ sở hạ tầng CNTT trước khi chúng ảnh hưởng nghiêm
trọng đến quá trình kinh doanh.
Đầu tiên ra mắt vào năm 1999, Nagios đã phát triển với hàng ngàn dự án
được phát triển bởi cộng đồng Nagios trên toàn thế giới . Nagios chính thức bảo
trợ bởi doanh nghiệp Nagios, hỗ trợ các cộng đồng trong một số cách khác nhau
thông qua doanh số bán hàng thương mại của sản phẩm và dịch vụ .
Nagios là một công cụ để giám sát hệ thống. Điều này có nghĩa là nó
liên tụckiểm tra trạng thái của máy và dịch vụ khác nhau trên các máy. Mục đích
chính của hệ thống giám sát là để phát hiện và báo cáo về bất kỳ hệ thống không
hoạt động,càng sớm càng tốt, do đó, ta nhận thức được vấn đề trước khi người
dùng sử dụng.
Nagios không thực hiện bất kỳ kiểm tra máy chủ hoặc các dịch vụ nào
trên của máy chủ Nagios. Nó sử dụng plugin để thực hiện việc kiểm tra thực tế.
Điều này làm cho nó có tính linh hoạt cao, và là giải pháp hiệu quả cho việc thực
hiện và kiểm tra dịch vụ.
Nagios có hai ưu điểm lớn khi nói đến quá trình giám sát, thay vì theo
dõi các giá trị, nó chỉ sử dụng bốn mức độ để mô tả tình trạng: OK, WARNING,
CRITICAL , và UNKNOW. Các mô tả tình trạng của các đối tượng được giám
sátcho phép người quản trị quyết giải quyết hay bỏ qua các vấn đề trên hệ thống
mà không tốn nhiều thời gian. Đây chính là điều Nagios làm. Nếu ta đang theo

dõi một giá trị số như số lượng không gian đĩa và tải CPU, ta có thể định nghĩa
ngưỡng những giá trị để được cảnh báo khi cần thiết.
Một thuận tiện khác của Nagios là các báo cáo về trạng thái của các dịch
vụđang hoạt động. Báo cáo này cung cấp một cái nhìn tổng quan tốt về tình trạng
cơ sở hạ tầng. Nagios cũng cung cấp các báo cáo tương tự cho các nhóm máy chủ
vàcác nhóm dịch vụ, cảnh báo khi bất kỳ dịch vụ quan trọng hoặc cơ sở dữ liệu
server ngưng hoạt động. Báo cáo này cũng có thể giúp xác định độ ưu tiên của
các vấn đềnhư vấn đề nào cần được giải quyết trước.
Đối tượng giám sát của Nagios được chia thành hai loại: host và dịch
vụ.Host là các máy vật lý (máy chủ, bộ định tuyến, máy trạm, máy in và vv),
trong khi dịch vụ là những chức năng cụ thể, ví dụ, một máy chủ web (một quá
trình xử lý http) có thể được định nghĩa như là một dịch vụ được giám sát. Mỗi
dịch vụ có liên quan đến một máy chủ là dịch vụ đang chạy trên đó. Ngoài ra, cả
hai máy và dịchvụ có thể được nhóm lại thành các nhóm dịch cho phù hợp.
Hình 1.1: Các đối tượng cần giám sát trên Nagios
Nagios thực hiện tất cả các kiểm tra của mình bằng cách sử dụng
plugins.Đây là những thành phần bên ngoài mà Nagios qua đó lấy được thông tin
về nhữnggì cần được kiểm tra và cung cấp các cảnh báo cho người quản trị.
Plugins có trách nhiệm thực hiện các kiểm tra và phân tích kết quả. Các đầu ra từ
một kiểm tra đó là một trạng thái (OK, WARNING, CRITICAL, hoặc
UNKNOW) và các văn bản bổ sung cung cấp thông tin về các dịch vụ cụ thể. Văn
bản này chủ yếu dành cho cácquản trị viên hệ thống để có thể đọc một trạng thái
chi tiết của một dịch vụ.
Nagios không chỉ cung cấp một hệ thống cốt lõi để theo dõi, mà còn
cung cấp một tập các plugins tiêu chuẩn trong một gói riêng biệt (xem
để biết thêm chi tiết). Những plugin này cho phép kiểm
tra các dịch vụ đang chạy trên hệ thống. Ngoài ra nếu ta muốn thực thi một kiểm
tra đặc biệt, ta có thể tạo một plugin riêng cho mình.
1.2 Lợi ích của việc giám sát tài nguyên
Có nhiều lý do tại sao ta nên chắc chắn rằng tất cả các nguồn tài nguyên

đang làm việc như mong đợi. Các lợi thế chính là sự cải thiện về chất lượng. Nếu
nhân viên IT có thể thông báo sự cố nhanh chóng hơn, họ cũng sẽ có thể xử lý các
vấn đề nhanh hơn. Đôi khi, sẽ mất vài giờ hoặc vài ngày để có được báo cáo đầu
tiên của một sự cố. Nagios sẽ đảm bảo rằng nếu có thiết bị hoặc dịch vụ gì không
làm việc, ta biết về nó một cách nhanh nhất.
Nó cũng có thể làm cho Nagios thực hiện các khôi phục tự động, điều
này được thực hiện nhờ vào các sự kiện được định nghĩa trong Nagios. Đây là các
lệnh được chạy sau khi tình trạng của một máy chủ lưu trữ hoặc dịch vụ đã thay
đổi, ví dụ khi một router chính không hoạt động, Nagios sẽ chuyển đến một giải
pháp dự phòng cho đến khi router chính được sửa. Một trường hợp điển hình là
một kết nối quay số như dự phòng sẽ được bật, trong trường hợp mất kết nối
VPN.
Một lợi thế là xác định vấn đề tốt hơn. Nagios có thể xác định được
chính xác một sự cố xảy ra trên hệ thống nhưng không mất nhiều thời gian.
Nagios cũng rất linh hoạt khi thông báo cho mọi người về những sự cố. Ta có thể
thiết lập nó để gửi email cho những người khác nhau tùy thuộc vào những sự cố
đó. Trong hầu hết các trường hợp, công ty có một lượng lớn đội ngũ CNTT hoặc
nhiều đội. Thông thường, ta muốn một số người để xử lý các máy chủ, và những
người khác để xử lý các thiết bị switch / router / modem. Ta thậm chí có thể sử
dụng giao diện web 'Nagios để quản lý người nào đang làm việc về vấn đề gì. Ta
cũng có thể cấu hình cách Nagios gửi cảnh báo qua email, SMS , MSN…
Giám sát nguồn tài nguyên không chỉ hữu ích để xác định vấn đề, nó
cũng có thể giúp ta tiết kiệm thời gian để tìm hiểu chúng. Nagios cảnh báo và xử
lý các tình huống quan trọng khác nhau. Điều này có nghĩa rằng nó có thể nhận ra
vấn đề tình huống quan trọng một cách nhanh chóng. Ví dụ, nếu đĩa cứng lưu trữ
trên một máychủ email là đã sử dụng hết thì tốt hơn ta nên được thông báo về tình
trạng này trước khi nó trở thành một vấn đề nghiêm trọng.
Giám sát cũng có thể được thiết lập trên nhiều máy tính trên khắp các
địađiểm khác nhau mà có thể giao tiếp tất cả các kết quả đến một máy chủ Nagios
trung tâm. Bằng cách này, thông tin về tất cả các host và dịch vụ trong hệ thống

có thể được truy cập từ một máy tính đơn lẻ. Điều này sẽ cho ta một bức tranh
hoàn chỉnh cơ sở hạ tầng CNTT.
1.3 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 CNTT theo cách 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 trênmột hệ thống định nghĩa các đối tượng rõ ràng:
Commands: Được định nghĩa về cách Nagios cần thực hiện các loại kiểmtra,
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ớinhau.
Time-periods: 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ứ hai đến thứ sáu 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à một 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 đó - ví dụ một máy chủ
quan trọng là ngưng hoạt hơn 4 giờ nên cảnh báo cho quản trị viên để họ bắt đầu
theo dõi các vấn đề.
Một tiện ích quan trọng ta sẽ đạt được bằng cách sử dụng Nagios là một hệ
thống phụ thuộc. Đối với các quản trị viên, rõ ràng là nếu router bị hỏng, tất cả
các máy truy cập thông qua nó sẽ thất bại. Nagios cho phép ta định nghĩa phụ
thuộc giữa các máy để hình thành cấu trúc liên kết mạng lưới thực tế. Ví dụ, nếu

một switch, cho kết nối ta với một bộ định tuyến ngưng hoạt động, Nagios sẽ
không thực hiện bất kỳ kiểm tra trên router hoặc trên các máy tính phụ thuộc vào
router.Điều này được minh họa trong ví dụ sau đây:
Hình 1.2: Ví dụ mô tả sự cố
Ta cũng có thể định nghĩa rằng một dịch vụ phụ thuộc vào một dịch vụ
khác,hoặc trên cùng một máy chủ hoặc trên các máy chủ khác nhau. Nếu một
trong các dịch vụ ngưng hoạt động, một kiểm tra cho một dịch vụ mà phụ thuộc
vào nó sẽ không được thực hiện. Ví dụ, đối với mạng nội bộ của ứng dụng công
ty hoạt động tốt, cả hai máy chủ web cơ bản và cơ sở dữ liệu một máy chủ đều
hoạt động. Vì vậy, nếu một dịch vụ cơ sở dữ liệu không hoạt động, Nagios sẽ
không thực hiện kiểm tra các ứng dụng. Máy chủ cơ sở dữ liệu có thể là trên cùng
một máy hoạt khác máy.Trong một trường hợp như vậy, nếu máy bị hỏng hoặc
không thể truy cập, cảnh báo cho tất cả các dịch vụ phụ thuộc vào các dịch vụ cơ
sở dữ liệu sẽkhông được gửi.
Nagios cũng cung cấp cơ chế để lên lịch cho kế hoạch ngưng hoạt động vì một
vài lý do nào đó như bảo trì hoặc nâng cấp hệ thống. Ta có thể lên lịch cho một
máy chủ cụ thể hoặc dịch vụ dự kiến không có sẵn. Điều này sẽ ngăn chặn Nagios
thông báo cho người được cấu hình cần gửi cảnh báo về các vấn đề liên quan đến
đối tượng này. Nagios cũng có thể thông báo cho mọi người kế hoạch ngưng hoạt
động một cách tự động. Điều này chủ yếu được sử dụng khi bảo trì cơ sở hạ tầng
IT và hệ thống cũng như dịch vụ ngưng hoạt động trong một thời gian dài.
1.4 Trạng thái tạm thời và cố định
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ó. Bởi vì trạng thái của một dịch vụ chỉ
là một trong bốn giá trị OK, WARNING, CRITICAL, UNKNOW. Điều quan
trọng là nó thực 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ụ.
Hãy tưởng tượng rằng một quản trị viên khởi động lại một máy chủ web và
hoạt động này làm cho mất các kết nối đến máy chủ web trong 5s. Như

thường,khởi động lại như vậy được thực hiện vào ban đêm để giảm số lượng
người dùng bị ảnh hưởng, đây là khoảng thời gian chấp nhận được. Tuy nhiên,
một vấn đề có thể nảy sinh khi Nagios cố gắng kết nối tới máy chủ và thông báo
rằng nó thực sự ngưng hoạt động nếu chỉ dựa vào một kết quả duy nhất.
Để 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à UNKNOW, hoặc nó là khác nhau các
trạngthá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. 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 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ờivà cố định, giả sử số lần kiểm tra là 3 ta sẽ có:
Hình 1.3: Kiểm tra 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 cả khi
mọi thứ hoạt động tốt.
CHƯƠNG 2: CÀI ĐẶT NAGIOS VÀ ỨNG DỤNG VÀO GIÁM SÁT
MẠNG
2.1 Cài đặt
 Cài CentOs : Tải về file cài đặt của hệ điều hành CentOs, tiến hành cài
đặt (Do khuôn khổ bài báo cáo có hạn nên nhóm xin mặc định là Hệ điều
hành cent os đã được cài sẵn);
 Cài đặt Nagios:
Yêu cầu
Để cài đặt phần mềm trước tiên ta phải có quyền truy cập tài

khoản root.Đảm bảo rằng các gói cài đặt sau được cài trên hệ điều hành
CentOS trước khi tiếp tục:
Apache
PHP
Phần biên dịch GCC
Thư Viện GD
Chúng ta có thể sử dụng lệnh yum để cài đặt gói ứng dụng bằng các
lệnh:
yum install httpd php
yum install gcc glibc glibc-common
yum install gd gd-devel
Tạo thông tin tài khoản người dùng:
Trước tiên ta phải có quyền truy cập như là root
su -l
Tạo tài khoản nagios và mật khẩu
/usr/sbin/useradd -m nagios passwd nagios
Tạo một nhóm người dùng mới là nagcmd , để cho phép tài khoản
nagios có thể truy cập vào giao diện web ta thêm tài khoản nagios và
apache vào nhóm nagcmd
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
usr/sbin/usermod -a -G nagcmd apacheTải phần mềm nagios và các
plug-in:
Tạo một thư mục lưu trữ phần mềm tải về
mkdir ~/downloadscd ~/downloads
Tải phần mềm nagios và plug-in tại 2 địa chỉ sau:
/>3.2.3.tar.gz
/>plugins-1.4.11.tar.gz
Biên dịch và cài đặt Nagios
Giải nén mã nguồn của nagios được tải về

cd ~/downloads
tar xzf nagios-3.2.3.tar.gz
cd nagios-3.2.3
Chạy tập tin kịch bản cấu hình của nagios bằng tên nhóm người dùng
nagcmd đã được tạo ở phần trên
./configure with-command-group=nagcmd
Biên dịch mã nguồn của nagios
make all
Cài đặt chương trình, tập lệnh init, tập tin cấu hình mẫu và thiết lập
quyền cho cácthư mục cần thiết.
make install
make install-init
make install-config
make install-commandmode
Tùy chỉnh cấu hình
Những tập tin cấu hình của nagios nằm tại thư mục
/usr/local/Nagios/etc
.Chỉnh sửa tập tin contacts.cfg tại
/usr/local/Nagios/etc/objects/contacts.cfg
để thayđổi thông tin địa chỉ email cần dùng cho việc nhận các cảnh báo.
vi /usr/local/nagios/etc/objects/contacts.cfg
Cấu hình giao diện Web
Cài đặt tập tin cấu hình web Nagios trong thư mục conf.d của Apache.
make install-webconf
Tạo tài khoản nagiosadmin để đăng nhập vào giao diện web của Nagios.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Khởi động lại Apache để các cài đặt mới có hiệu lực.
service httpd restart
Biên dịch và cài đặt các Plugins của Nagios
Giải nén mã nguồn của Nagios Plugins

cd ~/downloadstar xzf nagios-plugins-1.4.11.tar.gz cd nagios-
plugins-1.4.11
Biên dịch và cài đặt plugins
./configure with-nagios-user=nagios with-nagios-
group=nagiosmakemake install
Bắt đầu Nagios
Thêm Nagios vào danh sách các dịch vụ hệ thống tự bắt đầu khi hệ điều
hành đượckhởi động.
chkconfig add nagios
chkconfig nagios on
Xác định tập tin cấu hình của Nagios xem có lỗi gì không.
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nếu kết quả trả về là không có lỗi thì ta bắt đầu dịch vụ Nagios.
service nagios start
Sửa đổi SELinux
Hệ điều hành CentOS có ứng dụng SELinux (Security Enhanced
Linux)được cài đặt mặc định và ở chế độ Enforcing. Điều này có thể làm
chúng ta khôngtruy cập được giao diện của Nagios.
Xem thử chế độ của SELinux có phải là Enforcing không.
getenforce
Đặt lại chế độ cho SELinux là Permissive.
setenforce 0
Để thay đổi này cố định, ta phải thay đổi cấu hình của SELinux tại
/etc/selinux/config
và khởi động lại.Thay vì phải vô hiệu hóa SELinux hoặc chuyển nó sang
chế độ Permissive, ta có thểdùng các lệnh sau để chạy CGIs của Nagios
dưới chế độ Enforcing:
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/
Đăng nhập vào giao diện Web của Nagios

Bây giờ ta có thể đăng nhập vào giao diện web của Nagios với tài khoản
nagiosadmin và mật khẩu đã được thiết lập lúc đầu tại địa chỉ:
http://localhost/nagios/
Tới đây là đã thành công trong việc cài đặt phần mềm Nagios
2.2 Cấu hình Nagios giám sát đảm bảo an ninh mạng
2.2.1 Cấu hình để giám sát hệ thống chạy hệ điều hành Windows
Giới thiệu
Chúng ta sẽ tiến hành cấu hình Nagios để giám sát các thông tin cơ bản của hệ
thống Windows là một máy Client mẫu (Sample Client):
Memory sử dụng
Tải CPU
Dung lượng ổ đĩa sử dụng
Trạng thái các dịnh vụ
Các tiến trình đang chạy
Khái quát cách hoạt động của Nagios với Windows
Hình 2.1 Giao tiếp giữa Nagios và Window
Giám sát các dịch vụ hay các thuộc tính của một hệ thống Windows yêu
cầuta phải cài một Agent trên đó. Agent này giống như là một trung gian giữa
cácPlugin của Nagios được dùng để giám sát các dịch vụ và thuộc tính của
Windows. Nếu Agent không được cài đặt trên hệ thống Windows thì ta không thể
giám sát được.
Ở đây ta sử dụng phần mềm NSClient++ để giám sát máy Windows và
sửdụng plugin check_nt để giao tiếp với NSClient++ (check_nt được cài đặt trên
máychủ Nagios như ở phần trên).
Ngoài NSClient++ ta có thể sử dụng NC_Net có chức năng tương tự
NSClient++
Các bước tiến hành
Có một vài quá trình cần thực hiện để tiến hành giám sát một máy
Windowsđó là:Kiểm tra các yêu cầu.Cài đặt agent trên máy Windows.Tạo một
host và một định nghĩa service để giám sát máy Windows.Khởi động lại tiến trình

nagios để cập nhật thay đổi.
Yêu cầu
Để cấu hình Nagios giám sát một máy tính Windows ta cần cấu hình các thông
tinsau:Chỉnh sửa tập tin cấu hình Nagios:
vi /usr/local/nagios/etc/nagios.cfg
Bỏ ký tự # ở dòng sau:
#cfg_file=/usr/local/nagios/etc/objects/windows.cfg
Lưu tập tin và thoát.Công việc vừa làm đã cấu hình cho Nagios biết để đọc các
thông tin trong tập tin/usr/local/nagios/etc/objects – là nơi thêm các thông tin về
máy windows và các dịch vụ cần giám sát.
Cài đặt Agent trên Windows
Trước khi tiến hành giám sát ta cần cài đặt agent trên Windows. Ở đây ta
sử dụng NSClient++ có thể tìm thấy tại:
Tải phiên bản NSClient++ mới nhất tại: />Giải nén tập tin tải về ở thư mục C:\NSClient++
Mở cửa sổ Command Prompt
Gõ lệnh sau để cài đặt NSClient++:
• nsclient++ /install
Bật biểu tượng NSClient++ trên thanh menu hệ thống
• nsclient++ SysTray
Bật trình quản lý dịch vụ của NSClient++ để đảm bảo cho phéptruyền thông
giữa Nagios Server và máy Windows.
Chỉnh sửa tập tin NSC.INI (trong thư mục C:\NSClient++):Bỏ dấu “ ; ” ở
tất cả các modules được liệt kê trong [modules] trừCheckWMI.dll và
RemoteConfiguration.dllTùy chọn mật khẩu có thể thay đổi tại phần
[Settings]Bỏ dấu “ ; ” của allowed_hosts trong phần [Settings]. Thêm địa chỉ
IPcủa Nagios Server hoặc để trống để cho phép bất kỳ host nào kết nối đếnĐảm
bảo cổng trong phần [NSClient] là 12489
Gõ lệnh sau để bắt đầu dịch vụ NSClient++ trên windows
nsclient++ /start
Nếu cài đặt đúng thì một biểu tượng mới sẽ xuất hiện trong khay hệ thống.

Đến đây ta có thể thêm máy Windows vào tập tin cấu hình của Nagios để bắt đầu
giám sát.
Cấu hình Nagios
Bây giờ ta sẽ định nghĩa các object definitions trong tập tin cấu hình để giámsát
một máy Windows mới
Mở tập tin windows.cfg
vi /usr/local/nagios/etc/objects/windows.cfg
Thêm một định nghĩa mới cho máy Windows để tiến hành giám sát. Thay đổi
cácthông tin như host_name, alias, address thích hợp:
define host{
use windows-server
host_name Sample Client
alias My Windows Server
address 10.0.4.11 }
Bây giờ ta sẽ định nghĩa các dịch vụ cần giám sát trên máy Windows.
define service{
use generic-service
host_name Sample Client
service_description Uptimecheck_commandcheck_nt!UPTIME
}
Giám sát tải của CPU và cấu hình để Nagios bật cảnh báo là WARNING nếu tải
lớn hơn 80% trong 5 phút và CRITICAL nếu tải lớn hơn 90% trong 5 phút.
define service{
usegeneric-service
host_name Sample Client s
ervice_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90 }
Định nghĩa dịch vụ giám sát dung lượng sử dụng của bộ nhớ. WARNING nếu sử
dụng trên 80% và CRITICAL nếu sử dụng trên 90%.
define service{

use generic-service
host_name Sample Client
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}
Định nghĩa dịch vụ giám sát dung lượng sử dụng của bộ nhớ.
WARNING nếu sửdụng trên 80% và CRITICAL nếu sử dụng trên 90%
define service{
use generic-service
host_name Sample Client
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}
Giám sát dung lượng ổ đĩa C. Bật cảnh báo WARNING khi sử dụng trên 80%
dung lượng đĩa cứng và CRITICAL khi dùng trên 90%.
define service{
use generic-service
host_name Sample Client
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}
Định nghĩa dịch vụ giám sát tiến trình Explorer.exe và bật CRITICAL nếu tiến
trình này không chạy.
define service{
use generic-service
host_name Sample Client
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe }
Đó là một vài dịch vụ giám sát máy Windows cơ bản. Ta lưu lại tập tin cấu hình
Mật khẩu

Nếu có cấu hình mật khẩu trong NSClient++ ở Windows, cần sửa đổi lệnh
check_nt để cho phép mật khẩu. Mở tập tin commands.cfg để chỉnh sửa.
vi /usr/local/nagios/etc/objects/commands.cfg
Thay đổi định nghĩa của lệnh check_nt để cho phép mật khẩu với tùy chọn –s
<mật khẩu>
define command{
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489
-s PASSWORD -v $ARG1$ $ARG2$
}
Lưu lại tập tin commands.cfg
Khởi động lại dịch vụ Nagios
Kiểm tra xem các thông tin cấu hình có lỗi gì không với lệnh
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nếu quá trình kiểm tra thông báo có lỗi, tiến hành sửa lỗi tại tập tin được thông
báo rồi khởi động lại dịch vụ nagios để cập nhật thay đổi
service nagios restart
Kết quả giám sát trên Sample Client:
Thông tin các dịch vụ đã cấu hình để kiểm tra trên Sample Client: dung
lượng ổ C, tải CPU, Explore, dung lượng memory sử dụng, phiên bản của
NSClient++, các tiến trình đang chạy trên máy, thời gian bật máy.
Hình 2.2: Thông tin các dịch vụ trên Sample Client
Theo hình 2.2 ta có thể thấy thông tin về Sample Client: IP Address, trạng thái
host, trạng thái thông tin, host có chập chờn hay không, thời gian cập nhật cuối
cùng…
Hình 2.3: Thông tin về Sample client
2.3 Một số ứng dụng khác trong việc giám sát mạng
 Giám sát Router và Switch
 Giám sát các dịch vụ
 Giám sát các gói dữ liệu bị mất và RTA

 Giám sát thông tin trạng thái bằng SNMP
 Giám sát các interface trên router và switch
 Giám sát nhiệt độ
 Giám sát tải
 Giám sát tình trạng bộ nhớ
 Giám sát một số dịch vụ phổ biến
 Giám sát HTTP
 Giám sát FTP
 Giám sát SSH
 Giám sát SMTP
2.4 Triển khai ứng dụng thực tiễn
Chương trình của nhóm đượctriển khai thực tiễn sử dụng server có cài Nagios
để giám sát hoạt động máy trạm sử dụng hệ điều hành Windows
Trong phần triển khai này,Server và Client đều được tạo trên Vps của google
Các thông số kĩ thuật
Server :
- Địa chịa IP : 104.155.220.78
- Hệ điều hành : Centos 6.6 x64
- Số CPU : 1
- RAM : 3.8G
- Máy chủ đặt tại : asian-east1-c
- Server cài đặt Nagios phiên bản 3.5.0 ,nagios plugin phiên bản 2.0.3
Client :
- Địa chị IP : 23.251.159.75
- Hệ điều hành : windows server 2008 x84
- Số CPU : 1
- RAM : 3.8G
- Máy chủ đặt tại : us-cental1-b
- Client cài đặt phần mềm NSClient ++ phiên bản 4.3.1
Hình 3.1 : Mô hình triển khai thực tế

Đăng nhập vào giao diện Web của Nagios trên server theo địa chỉ
104.155.220.78/nagios
Sử dụng tài khoản : nagiosadmin và mật khẩu tomtom99 để đăng nhập
Hình 3.2 : Các host mà Nagios đang giám sát
Hình 3.3 : Các cảnh báo mà Nagios thông báo

KẾT LUẬN
Có nhiều lợi ích khi sử dụng hệ thống giám sát. Nó đảm bảo rằng các dịch vụ
đang làm việc một cách chính xác. Nó giúp phát hiện các vấn đề trước và đảm
bảo rằng những người thích hợp sẽ được cảnh báo khi có sự cồ xảy ra. Đảm bảo
rằng tất cả các dịch vụ hoạt động tốt là điều cần thiết. Trong trường hợp xảy các
vấn đề, hệ thống sẽ giúp đỡ trong việc đưa ra một bức tranh rõ ràng về những gì
đang làm việc,và những gì không.
Nagios là một ứng dụng rất mạnh cho việc giám sát tài nguyên. Nó phù hợp
với cả các hệ thống lớn và nhỏ. Nó có thể giúp tổ chức duy trì chất lượng dịch vụ
cao hơn. Nagios cũng giúp trong việc xác định nguyên nhân gốc rễ của vấn đề.
Nó bao gồm cơ chế rất linh hoạt để theo dõi và thông báo về cơ sở hạ tầng.
Nagios là một công cụ cực kỳ mạnh mẽ như nó có thể được cấu hình theo bất
kỳ cách nào ta muốn. Hơn nữa nó cũng có thể được mở rộng để nếu có nhu cầu.

×