Đặt vấn đề Hiện nay, với các doanh nghiệp, việc áp dụng công nghệ vào hệ thống của mình trở nên cần thiết và phổ biến hơn bao giờ hết. Trong hầu hết các trường hợp, việc các thiết bị, mạng và hệ thống hoạt động trơn tru cũng trở thành chìa khóa giúp cho doanh nghiệp hoạt động hiệu quả. Tuy nhiên, không có gì đảm bảo các thiết bị, máy tính trong hệ thống luôn luôn hoạt động an toàn và đúng cách. Những lỗi làm phát sinh các sự cố nghiêm trọng có thể xuất hiện bất cứ lúc nào.
Do cơ sở hạ tầng máy tính đóng vai trò vô cùng quan trọng, cho nên chúng ta cần phải kiểm soát hoạt động chính xác của nó, để khi xảy ra lỗi không gây ảnh hưởng đến các dịch vụ được cung cấp cho người dùng. Để phát hiện và ngăn chặn các sự cố, một hệ thống giám sát các thiết bị, máy tính… qua mạng trong hệ thống với công nghệ chuyên dụng là rất cần thiết. Chúng chịu trách nhiệm kiểm soát công nghệ được công ty sử dụng (bao gồm: phần cứng, mạng, thông tin liên lạc, hệ điều hành, ứng dụng,.), phân tích hoạt động và hiệu suất của công nghệ, đồng thời phát hiện và cảnh báo về các lỗi có thể xảy ra.2 Các tiêu chí chung để đánh giá một hệ thống giám sát mạng Để đánh giá một mô hình giám sát mạng có đủ tốt với hệ thống mạng, máy tính của mình, ta dựa vào các tiêu chí như sau: - Phân tích thời gian thực: cung cấp các thông báo giám sát gần như liên tục, đảm bảo độ trễ tối thiểu - Hệ thống cảnh báo: khi sự cố xuất hiện, một thông báo được tạo và được gửi đến đúng người, đúng chỗ. Thông báo có thể được cấu hình theo các điều kiện kích hoạt (ví dụ: đĩa cứng đạt dung lượng tối đa).
Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 - Có thể thông báo theo nhiều cách khác nhau (email, SMS) đến đúng người, đúng địa chỉ. - Có giao diện đồ họa trực quan để thuận tiện cho việc phân tích dữ liệu, nên có các biểu đồ về dữ liệu khá thân thiện và dễ hiểu nhất có thể. - Khả năng cài đặt các plug-in đa dạng nhằm đáp ứng tối đa nhu cầu của doanh nghiệp - Phân loại theo người dùng: dữ liệu được truy cập bởi mỗi người dùng sẽ khác nhau tùy thuộc vào các quyền có sẵn. Một hệ thống giám sát mạng là sự kết hợp của nhiều yếu tố trong việc giám sát.
Có thể lấy ví dụ đơn giản: một khối sẽ đảm nhiệm vai trò phát hiện các xâm nhập trái phép vào hệ thống từ bên ngoài, khối còn lại sẽ làm nhiệm vụ kiểm tra và phát hiện các vấn đề phát sinh nội bộ như máy chủ bị quá tải, kết nối mạng bị nghẽn hoặc các thiết bị khác hoạt động sai chức năng.1: Sơ đồ mô tả một hệ thống giám sát mạng gồm 2 khối: cảnh báo và theo dõi Ở phạm vi đồ án, chúng ta chỉ xét đến khả năng theo dõi các trạng thái của các thiết bị trong nội bộ hệ thống (tình trạng ổ đĩa, ram, các kết nối mạng). Downloaded by MON MON (monmon2@gmail. Phần mềm giám sát mạng Nagios Nguồn tham khảo: Link web: https://www.com/nagios-tutorial.html Link video: https://www.com/watch?v=S9I- FpJmYYo&ab_channel=host-tune-perform 2.1 Giới thiệu về Nagios Từ khi ra đời vào năm 2002 đến nay, Nagios liên tục được phát triển và rất được quan tâm. Chúng khá phổ biến và được ưa chuộng bởi có thể được xây dựng với chi phí thấp (với bản Nagios Core có thể được triển khai miễn phí) với chất lượng tương đương và phù hợp với nhu cầu của đa số người sử dụng so với các công cụ giám sát thương mại khác.
Một số điểm ưu của Nagios: - Mã nguồn mở - Đáng tin cậy - Dễ mở rộng - Được sử dụng rộng rãi - Chạy trên nhiều hệ điều hành (chỉ với bản Nagios XI) Nagios có thể sử dụng để giám sát các thành phần sau: - Trạng thái host (đang hoạt động hoặc không hoạt động) - Các tài nguyên, phần cứng của host (CPU, disk usage,…) - Các trạng thái dịch vụ như DHCP, FTP, SSH, Telnet, HTTP/HTTPS, NTP, POP3, IMAP,SMTP,… - Database servers như MySQL, Postgres, Oracle, SQL Server … Downloaded by MON MON (monmon2@gmail.2 Các tính năng của Nagios Một số tính năng phổ biến của Nagios được biết đến như sau: - Theo dõi một máy tính – host và dịch vụ của nó - Gửi thông báo qua email hoặc SMS - Xử lý sự kiện - Thu thập hiệu suất thiết bị - Quản lý tập trung - Quản lý người dùng - Các API hỗ trợ nhiều hệ điều hành, nền tảng – Agent - Nhiều nguồn tư liệu hướng dẫn sử dụng 2.3 Kiến trúc của Nagios và cách thức hoạt động Kiến trúc Nagios có kiến trúc khách - chủ. Thông thường, trên mạng, một máy chủ Nagios đang hoạt động và thực thi các yêu cầu giám sát qua các plugin được kết nối với các API, Agent được cài đặt đang chạy trên tất cả các máy khách từ xa cần được giám sát. Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 Hình 2.1 Kiến trúc và cách thức hoạt động của Nagios 1. Scheduler là một thành phần của phần máy chủ của Nagios.
Nó gửi một tín hiệu để thực thi các plugin tại máy khách từ xa – remote host. Plugin nhận trạng thái từ máy chủ từ xa 3. Plugin gửi dữ liệu đến bộ lập lịch quy trình 4. Scheduler theo quy trình cập nhật GUI – giao diện đồ họa người dùng trên web và thông báo được gửi đến quản trị viên Nguyên lý hoạt động của Nagios Nagios chạy trên một máy Server, nó sẽ chạy Plug-ins 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 nội bộ 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. Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 Plugin là thành phần biên dịch chương trình hoặc các ngôn ngữ kịch bản – Script (Perl scripts, shell scripts, etc. Nó có thể chạy từ một 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ý. Các plugin Nagios cung cấp trí thông minh cấp thấp về cách giám sát mọi thứ với Nagios Core.
Chúng hoạt động như một ứng dụng độc lập, nhưng chúng được thiết kế để thực thi bởi Nagios Core. Nó kết nối với Apache được điều khiển bởi CGI để hiển thị kết quả. Hơn nữa, một cơ sở dữ liệu được kết nối với Nagios để giữ một tệp nhật ký tại đó. Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 Hình 2.2 Cách thức hoạt động của Nagios Plugin Một số plugin mà Nagios có sẵn để giám sát các thiết bị, dịch vụ: HTTP/HTTPS, POP3, IMAP, FTP, SSH, Disk usage, … GUI là giao diện của Nagios được sử dụng để hiển thị các trang web do CGI tạo ra.
Nó có thể là các nút hiển thị màu xanh lá cây hoặc màu đỏ, âm thanh, đồ thị, v. Khi một cảnh báo được nâng lên đến mức nghiêm trọng (CRITICAL hoặc UNKNOWN), thông báo sẽ hiển thị trên giao diện. Sau đó tùy theo cấu hình trên máy chủ Nagios, thông báo sẽ được gửi đến quản trị viên tự động hoặc thủ công.3 Một số Plugin thường được sử dụng trong Nagios NRPE – sử dụng để giám sát các host Linux hoặc Mac OS Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 Hình 2.1 Plugin NRPE Check_nrpe là một plugin để giám sát một máy linux hoặc Mac OS, thường có sẵn trong máy chủ giám sát. NRPE nên được cài đặt trong mọi máy khách Linux hoặc Mac OS cần theo dõi dưới dạng gói (nrpe-nagios-server).
Có kết nối SSL giữa máy chủ và máy khách được thiết lập liên tục trao đổi thông tin với nhau. NSClient++ – sử dụng để giám sát các máy Window Hình 2.2 Plugin NSClient++ Check_nt là một plugin để giám sát một máy windows, phần lớn có sẵn trong máy chủ giám sát. NSClinet ++ nên được cài đặt trong mọi máy khách Windows cần theo dõi. Có kết nối SSL giữa máy chủ và máy khách liên tục trao đổi thông tin với nhau.
Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 CHƯƠNG III: CẤU HÌNH, TRIỂN KHAI MÔ HÌNH QUẢN LÝ, GIÁM SÁT MẠNG KHÁCH - CHỦ ĐƠN GIẢN 3.1 Cài đặt máy chủ quản lý, giám sát 3.1 Thông tin hệ thống Hệ điều hành: Ubuntu 20.04 x64bit Dung lượng: 20Gb Ram: 2G IP: 192.159 Tên máy chủ: localhost - ubutu 3.2 Cài đặt Nguồn tham khảo web: https://www.com/tutorial/how-to-install-nagios-on-ubuntu-2004/ Các bước cần làm: - Cài đặt các gói liên quan - Cài đặt Nagios Core 4.6 - Cài đặt các plug-in Nagios và các plug-in NPRE - Kiểm tra Bước 1 - Cài các gói liên quan: Trước tiên, chúng ta cần cập nhật (update) và cài đặt các gói liên quan cho Nagios. Cập nhật hệ điều hành Ubuntu: sudo apt update Sau đó, ta tiến hành cài đặt các gói liên quan: sudo apt install -y autoconf bc gawk dc build-essential gcc libc6 make wget unzip apache2 php libapache2-mod-php libgd-dev libmcrypt-dev make libssl-dev snmp libnet-snmp-perl gettext Như vậy là các gói liên quan đã được cài đặt xong. Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 Bước 2 – Cài đặt Nagios Core 4.6 Ở bước này, chúng ta sẽ thực hiện cài đặt Nagios Core 4. cd ~/ wget https://github.com/NagiosEnterprises/nagioscore/archive/nagios- 4.gz Giải nén gói Nagios vừa được tải về và đi đến thư mục nagioscore-* tar -xf nagios-4.gz cd nagioscore-*/ Biên dịch và cài đặt Nagios Trước hết, biên dịch Nagios từ nguồn và định nghĩa cấu hình máy chủ ảo Apache cho Nagios: sudo ./configure --with-httpd-conf=/etc/apache2/sites-enabled sudo make all Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 Hình 3.1 Máy chủ ảo apache chon agios đã được cài đặt Khởi tạo Nagios user và group, và thêm ‘www-data’ người dùng Apache vào Nagios group sudo make install-groups-users sudo usermod -a -G nagios www-data Hình 3.2 Tạo group, user và www-data Cài đặt nhị phân cho Nagios, dịch vụ daemon và commandmode Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 sudo make install sudo make install-daemoninit sudo make install-commandmode Sau đó, cài đặt cấu hình tập lệnh: sudo make install-config Cài đặt cấu hình Apache cho Nagios và kích hoạt các mô đun mod_rewrite và mode_cgi.
sudo make install-webconf sudo a2enmod rewrite cgi Khởi động lại dịch vụ Apache. systemctl restart apache2 Hình 3.