Liên hệ thông báo khi dịch vụ hoặc máy chủ lưu trữ các vấn đề xảy ra và có được giải quyết qua e-mail, máy nhắn tin, SMS, hay phương pháp bất kỳ người dùng định nghĩa thông qua plugin hệ
Trang 1Công cụ giám sát mạng-Nagios
Ι Tổng quan về Nagios
Nagios là một mã nguồn mở phổ biến hệ thống máy tính và phần mềm ứng dụng giám sát mạng Nagios kiểm soát hoạt động máy chủ và dịch vụ, cảnh báo người dùng khi gặp gì sai trong hệ thống
Giao diện Nagios Nagios, ban đầu được đặt tên là NetSaint t, đã được viết và hiện đang được nghiên cứu "cải tiến" bởi Ethan Galstad, cùng với một nhóm các nhà phát triển tích cực duy trì cả hai chính thức và không chính thức bổ sung
N.A.G.I.O.S là một từ viết tắt đệ quy: "Không phải là Gonna Nagios Luôn nhấn mạnh về phong Thánh" , "phong Thánh" là một tham chiếu đến tên ban đầu của phần mềm, mà đã được thay đổi để đáp ứng với một thách thức pháp lý của chủ sở hữu của một nhãn hiệu tương tự "Agios"
Nagios ban đầu được thiết kế để chạy theo GNU / Linux, nhưng cũng chạy tốt trên các phiên bản Unix Nó là miễn phí phần mềm, cấp phép theo các điều khoản của GNU General Public License phiên bản 2 như được xuất bản bởi
Tổ chức Phần mềm Tự do
Nagios là phần mềm nguồn mở được cấp phép theo các chuẩn V3 GNU GPL
Giám sát các dịch vụ mạng (SMTP, POP3, HTTP, NNTP, ICMP, SNMP, FTP, SSH)
Giám sát tài nguyên máy chủ (tải bộ xử lý, đĩa sử dụng, hệ thống các bản ghi) trên một phần lớn các hệ điều hành mạng, bao gồm Microsoft Windows với các plugin NSClient + + hoặc Check_MK
Giám sát của bất cứ điều gì khác như thăm dò (nhiệt độ, báo động ) có khả năng gửi dữ liệu thu thập thông qua một mạng lưới để bổ sung cụ thể bằng văn bản
Trang 2Giám sát thông qua các kịch bản từ xa, chạy qua Nagios Remote Plugin chấp hành viên
Giám sát từ xa hỗ trợ thông qua SSH hoặc SSL mã hóa đường hầm
Plugin thiết kế đơn giản cho phép người dùng dễ dàng phát triển dịch vụ kiểm tra riêng của họ tùy thuộc vào các nhu cầu, bằng cách sử dụng các công
cụ của sự lựa chọn (kịch bản shell, C + +, Perl, Ruby, Python, PHP, C #, vv) Plugins sẵn sàng cho đồ họa của dữ liệu (Nagiosgraph, Nagiosgrapher, PNP4Nagios, và những người khác có sẵn)
Song song dịch vụ kiểm tra sẵn
Khả năng để xác định máy chủ lưu trữ mạng bằng cách sử dụng hệ thống cấp bậc "phụ huynh" máy chủ, cho phép phát hiện và phân biệt giữa các máy đang xuống và những người được unreachable
Liên hệ thông báo khi dịch vụ hoặc máy chủ lưu trữ các vấn đề xảy ra và có được giải quyết (qua e-mail, máy nhắn tin, SMS, hay phương pháp bất kỳ người dùng định nghĩa thông qua plugin hệ thống)
Khả năng xử lý sự kiện để xác định được chạy trong thời gian dịch vụ hoặc máy chủ lưu trữ các sự kiện chủ động giải quyết vấn đề
Tự động log file quay
Hỗ trợ cho triển khai thực hiện giám sát dự phòng máy chủ
Tùy chọn giao diện web để xem tình trạng mạng hiện tại, thông báo, vấn đề lịch sử, các tập tin đăng nhập
Nagios là một phần mềm nguồn mở, Nagios cung cấp giám sát đầy đủ và cảnh báo cho các máy chủ, thiết bị chuyển mạch, các ứng dụng và dịch vụ
Với Nagios ta có thể:
• Kiểm tra toàn bộ cơ sở hạ tầng CNTT của bạn
• Phát hiện vấn đề trước khi chúng xảy ra
• Biết ngay khi có vấn đề phát sinh
• Dữ liệu sẵn sàng chia sẻ với các bên liên quan
• Phát hiện lỗ hổng bảo mật
• Kế hoạch và ngân sách cho việc nâng cấp CNTT
• Giảm thời gian chết và thiệt hại kinh doanh
PHẦN 1: HƯỚNG DẪN CÀI ĐẶT VÀ CẤU HÌNH NAGIOS
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 và chuẩn bị
• Một số giai đoạn cài đặt cần quyền root (dấu # đằng trước câu
lệnh)
• Các package cần được cài sẵn là: Apache, Perl, PHP, GCC
Compiler, GD development library
Trang 3Nếu chưa có thì cài thông qua lệnh yum như sau:
[root@server Desktop]# yum install httpd gcc glibc glibc-common gd gd-devel php
Nhấn Y khi được hỏi.
Đợi cho quá trình cài đặt kết thúc
Ta tạo các user và group cần thiết như sau:
[root@server Desktop]# useradd -m nagios
[root@server Desktop]# groupadd nagcmd
Add các user vào group
[root@server Desktop]# usermod -a -G nagcmd nagios
[root@server Desktop]# usermod -a -G nagcmd apache
Tạo thư mục để download gói cài đặt Nagios
[root@server Desktop]# mkdir /nagios
Chuyển vào thư mục vừa tạo
[root@server Desktop]# cd /nagios/
Trang 4Download gói cái đặt Nagios về máy
[root@server nagios]#
wgethttp://sourceforge.net/projects/nagios/files/latest/download Giải nén gói vừa down
[root@server nagios]# tar -zxvf nagios-4.0.1.tar.gz
Kiểm tra gói nagios-4.0.1.tar.gz đã được giải nén
[root@server nagios]# ls
download nagios-4.0.1 nagios-4.0.1.tar.gz
Chuyển vào thư mục nagios-4.0.1
[root@server nagios]# cd nagios-4.0.1
Tiến hành cài đặt và cấu hình Nagios
[root@server nagios-4.0.1]# /configure
-with-command-group=nagcmd
[root@server nagios-4.0.1]# make all
Trang 5Tiếp tục cài đặt.
[root@server nagios-4.0.1]# make install
[root@server nagios-4.0.1]# make install-init
[root@server nagios-4.0.1]# make install-config
[root@server nagios-4.0.1]# make install-commandmode
Trang 6Nagios đã được cài vào thư mục /usr/local/nagios/
Cài đặt Nagios Web Interface:
[root@server nagios-4.0.1]# make install-webconf
Nagios Web Interface được cài vào /usr/local/nagios/share ( http conf file added to /etc/httpd/conf.d/nagios.conf )
Tạo Web Interface Login User:
Tạo User “nagiosadmin” để Login vào quản trị Nagios, nhớ password được đặt [root@server nagios-4.0.1]# htpasswd -c
/usr/local/nagios/etc/htpasswd.users nagiosadmin
Trang 7Cài đặt và cấu hình Plugins Nagios
Bạn vào thưc mục nagios để tiến hành download gói Plugins của Nagios
[root@server nagios-4.0.1]# cd /nagios/
Vào trang sau download gói nagios-plugins về (ở đây mình thấy gói mới nhất là nagios-plugins-1.5.tar.gz) http://www.nagios.org/download/plugins/
[root@server nagios]#wget
http://nagios-plugins.org/download/nagios-plugins-1.5.tar.gz
Giải nén gói nagios-plugins-1.5.tar.gz
[root@server nagios]# tar -zxvf nagios-plugins-1.5.tar.gz [root@server nagios]# cd nagios-plugins-1.5
[root@server nagios-plugins-1.5]#
[root@server nagios-plugins-1.5]# /configure with-nagios-user=nagios with-nagios-group=nagios
[root@server nagios-plugins-1.5]# make
[root@server nagios-plugins-1.5]# make install
Cấu hình địa chỉ email của nagiosadmin để gửi cảnh báo
[root@server nagios-plugins-1.5]# vi
/usr/local/nagios/etc/objects/contacts.cfg
ở dòng email nagios@localhost ; thay bằng email của bạn
Trang 8Xác thực các thông tin cấu hình
[root@server nagios-plugins-1.5]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Trang 9Kiểm tra:
Total Warnings: 0
Total Errors: 0
Thành công
Khởi động Nagios
[root@server nagios-plugins-1.5]# service nagios start Cho nagios chạy cùng mỗi khi hệ thống khởi động lại
[root@server nagios-plugins-1.5]# chkconfig nagios on Cho httpd (dịch vụ webserver) chạy cùng mỗi khi hệ thống khởi động lại
[root@server nagios-plugins-1.5]# chkconfig httpd on Khởi động (hoặc khởi động lại) dịch vụ httpd
Trang 10Oke như vậy là quá trình cài đặt đã kết thúc, truy cập vào web để tận hưởng thành quả: http://địa_chỉ_ip/nagios
Hiện ra màn hình login, nhập user/pass bạn tạo bước trên vào (nagiosadmin/password)
Các bạn tự tìm hiểu tiếp nhé!
Chú ý: Nếu truy cập vào không được các bạn tắt firewall đi.
[root@server nagios-plugins-1.5]# service iptables stop
PHẦN 2: Giám sát các máy tính Windows bằng Nagios
Các bước thực hiện:
1. Các điều kiện cần thiết
2. Cài đặt plugin NSClient++ trên máy Windows từ xa
3. Tạo ra host mới và định nghĩa dịch vụ dành cho máy Windows cần theo dõi
4. Khởi động lại Nagios daemon
1 Các điều kiện cần thiết
Chỉnh sửa file config trong Nagios
[root@server Desktop]# vi /usr/local/nagios/etc/nagios.cfg
Bỏ dấu # trước dòng
#cfg_file=/usr/local/nagios/etc/objects/windows.cfg
Lưu lại và thoát
Trang 112 Cài đặt plugin NSClient++ trên máy Windows từ xa
2.1: Download version cuối cùng của NSClient++ tại:
http://sourceforge.net/projects/nscplus/
Khi mình download version mới về (tùy theo phiên bản win 32bit hay 64 bit, mình đang cài version NSCP-0.4.1.90-Win32.msi) thì ta chỉ cần kích Next để cài đặt, tới bước hỏi thì ta điền địa chỉ IP Server của máy Nagios Server và tích các ô module cần thiết Nếu ta đặt password ở mục NSClient password (only user via check_nt) thì ta sẽ cấu hình nó ở máy Nagios Server còn nếu không thì thôi (BướcPassword
Đối với các Version cũ hơn ta làm như dưới từ bước 2.2 tới bước 2.10 ngoại trừ bước 2.6, vì khi setup cài đặt Version mới này thì NSClient++ đã làm dùm ta các bước, bước 2.6 ta vẫn phải làm Nó sẽ setup như 1 chương trình bình thường và mặc định nằm ở C:\Program Files\NSClient++>
# Các bước dưới dành cho version “xưa” cũ (trừ bước 2.6)
2.2: Giải nén file NSClient tới C:\NSClient++
2.3: Mở comanline (Start Run gõ cmd) chuyển về thư mục C:\NSClinet++
2.4: Đăng ký NSClient++ tới dịch vụ hệ thống bằng lệnh:
nsclient++ /install
2.5: Cài đặt NSClient++ systray bằng lệnh:
nsclient++ SysTray
2.6: Mở dịch vụ quản lý (Starrt Run gõ services.msc) và đảm bảo rằng dịch vụ
NSClientpp đã được cho phép (Nhớ tích mục Allow service to interact with desktop)
Trang 122.7: Chỉnh sửa file NSC.INI (nằm trong thư mục C:\NSClinet++) và thay đổi một số thứ như
sau:
• Bỏ dấu coment trước tất cả các dịch vụ cần lắng nghe trong mục [modules] ngoài trừ CheckWMI.dll và RemoteConfiguration.dll
• Tùy chọn yêu cầu pasword cho clients bởi thay đổi lựa chọn “password” trong phần [Settings]
• Bỏ comment lựa chọn “allowed_hosts” trong mục [Settings] Bổ xung địa chỉ IP của Nagios Server hoặc bỏ trống nếu cho phép tất cả các host connect tới
• Đảm bảo rằng lựa chọn “port” trong lựa chọn [NSClinet] được bỏ comment và có port
“12489” (port mặc định)
2.8: Khởi động dịch vụ NSClient++:
nssclient++ /start
2.9: Nếu ta làm đúng tất cả thì sữa có 1 icon xuất hiện ở system tray (khay chỗ đồng hồ) Nó
là một vòng tròn màu vàng với chữ ‘M’ màu đen ở trong (version mới mình cài không thấy
có cái này)
2.10: Success!, máy Windows đã sẵn sàn được theo dõi bằng Nagios
3 Tạo ra host mới và định nghĩa dịch vụ dành cho máy Windows cần theo dõi
• Cấu hình Nagios:
Ta đi định nghĩa các Object (đối tượng) cần theo dõi của máy Windows trong file windows.cfg
Mở file windows.cfg
/usr/local/nagios/etc/objects/windows.cfg
Bổ xung máy Windows cần theo dõi Chỉnh sửa lại các định nghĩa trong file windows.cfg (host_name, alias, address)
# Define a host for the Windows machine we'll be monitoring
Trang 13# Change the host_name, alias, and address to fit your situation
# Nếu có nhiều máy tính Windows cần theo dõi, ta phải định nghĩa thêm cho nó (copy hết, paste xuống dưới, thay các thông số cần thiết, các dịch vụ ở dưới cũng vậy).
define host{
use windows-server ; Inherit default values from a template host_name 2k3DC.test.com ; Tên máy tính cần theo dõi
alias My Windows Server ; A longer name associated with the host
address 192.168.132.132 ; Địa chỉ IP của máy cần theo dõi }
Kéo xuống dưới ta sẽ thấy được các dịch vụ mà file windows.cfg liệt kê
# Theo dõi uptime của Windows server
define service{
use generic-service
host_name 2k3DC.test.com
service_description Uptime
check_command check_nt!UPTIME
}
# Theo dõi CPU của máy, Cảnh báo CRITICAL nếu CPU có tải 5 phút là 90% trở lên hoặc WARNING nếu tải 5 phút là 80% hoặc cao hơn
define service{
use generic-service
host_name 2k3DC.test.com
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}
# Theo dõi Memory của máy, Cảnh báo CRITICAL nếu bộ nhớ sử dụng 90% hoặc hơn, cảnh báo WARNING nếu bộ nhớ sử dụng 80% hoặc hơn
define service{
use generic-service
host_name 2k3DC.test.com
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}
# Theo dõi dung lượng đĩa còn trống, Cảnh báo CRITICAL nếu dung lượng ổ cứng sử dụng 90% hoặc hơn, cảnh báo WARNING nếu dung lượng ổ cứng sử dụng 80% hoặc hơn
define service{
use generic-service
host_name 2k3DC.test.com
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90 }
# Theo dõi dịch vụ W3SVC, cảnh báo CRITICAL nếu dịch vụ bị ngừng
Trang 14define service{
use generic-service
host_name 2k3DC.test.com
service_description W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC }
# Theo dõi dịch bụ explorer, cảnh báo CRITICAL nếu dịch vụ bị ngừng
define service{
use generic-service
host_name 2k3DC.test.com
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
}
Password Protection
Nếu ta có đặc tả yêu cầu password trong khi cài đặt NSClient++ trên máy Windows ta cần phải chỉnh sửa lại lệnh check_nt bao gồm password
Mở file commands.cfg và chỉnh lại, thêm "-s " vào (Password này ta đã đặt khi cài NSClient++ trên Windows)
# 'check_nt' command definition
define command{
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v
$ARG1$ $ARG2$
}
4 Khởi động lại dịch vụ Nagios.
[root@server Desktop]# service nagios restart
Stopping
nagios: [ OK ]
Starting
nagios: [ OK ]
Kiểm tra “thành quả”