Nagios là một hệ thống giám sát nguồn mở để theo dõi tình trạng và hiệu suất của cơ sở hạ tầng CNTT. Nó cung cấp các cảnh báo theo thời gian thực và tổng quan trạng thái cho máy chủ, mạng và ứng dụng, cho phép giải quyết vấn đề chủ động.
Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt Nagios trên máy chủ Debian 12. Bạn sẽ cài đặt Nagios trên Debian thông qua trình quản lý gói thay vì biên dịch thủ công.
Để bắt đầu, hãy chạy lệnh bên dưới để làm mới và cập nhật chỉ mục gói Debian của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22218%22%3E%3C/svg%3E
Sau khi chỉ mục gói được cập nhật, hãy thực hiện lệnh bên dưới để cài đặt Nagios, monitoring-plugin và plugin Nagios NRPE thông qua kho lưu trữ Debian.
Nhập Y để tiếp tục cài đặt. Với điều này, bạn sẽ cài đặt các phụ thuộc cho Nagios, bao gồm máy chủ web Apache và các gói PHP 8.2.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22345%22%3E%3C/svg%3E
Sau khi Nagios được cài đặt, hãy chạy lệnh systemctl bên dưới để bật dịch vụ nagios4.
Sau đó, xác minh nagios4 service để đảm bảo rằng dịch vụ đang chạy thông qua lệnh bên dưới. Bạn sẽ thấy dịch vụ nagios4 với trạng thái đang hoạt động (đang chạy) và được bật.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22370%22%3E%3C/svg%3E
Bây giờ bạn cũng có thể xác minh trạng thái máy chủ web Apache để đảm bảo rằng nó đã được cài đặt và đang chạy bằng lệnh bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22247%22%3E%3C/svg%3E
Cuối cùng, hãy mở trình duyệt web và truy cập cài đặt Nagios của bạn http://192.168.5.15/nagios4. Bạn sẽ thấy bảng điều khiển Nagios như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22485%22%3E%3C/svg%3E
Dưới đây là các tệp cấu hình và thư mục cho Nagios mà bạn phải biết:
Mở tệp /etc/nagios4/cgi.conf bằng lệnh nano editor sau.
Tìm dòng use_authentication và thay đổi giá trị thành 1 để bật xác thực Nagios.
Lưu và đóng tệp khi bạn hoàn tất.
Tiếp theo, khởi động lại dịch vụ nagios4 bằng lệnh sau để có hiệu lực.
Với lệnh này, chỉ người dùng 'nagiosadmin' mới được phép truy cập vào cài đặt Nagios của bạn. Bạn vẫn có thể truy cập bảng điều khiển Nagios, nhưng trang báo cáo và giám sát bị từ chối bởi điều này.
Trước tiên, hãy chạy lệnh bên dưới để bật các mô-đun cần thiết, cgi, cgid và rewrite.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22505%22%20height=%22161%22%3E%3C/svg%3E
Mở các tệp cấu hình Apache để cài đặt Nagios /etc/apache2/conf-available/nagios4-cgi.conf bằng lệnh trình soạn thảo nano sau.
Tìm dòng '<DirectoryMatch ... </DirectoryMatch>' và thay thế cấu hình mặc định bằng cấu hình sau. Trong trường hợp này, bạn sẽ kích hoạt mô-đun basic_auth của Apache Nagios web contents. Người dùng cơ sở dữ liệu sẽ được sử dụng trong tệp /etc/nagios4/htdigest.users.
Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.
Tiếp theo, chạy lệnh bên dưới để tạo người dùng mới nagiosadmin cho Apache basic auth. Theo mặc định, Nagios chỉ cho phép người dùng nagiosadmin hiển thị và quản lý Nagios.
Nhập mật khẩu của bạn và lặp lại.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22711%22%20height=%22228%22%3E%3C/svg%3E
Cuối cùng, chạy lệnh bên dưới để khởi động lại dịch vụ apache2 và áp dụng các thay đổi của bạn. Sau đó, hãy xác minh Apache để đảm bảo nó đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22317%22%3E%3C/svg%3E
Sau khi hoàn tất bước này, bạn sẽ được nhắc khi truy cập cài đặt Nagios của mình.
Nhập người dùng nagiosadmin với mật khẩu của bạn, sau đó nhấp vào Đăng nhập để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22469%22%20height=%22320%22%3E%3C/svg%3E
Nếu mật khẩu của bạn đúng, bạn sẽ được hiển thị bảng điều khiển Nagios.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22485%22%3E%3C/svg%3E
Nhấp vào menu Máy chủ và bạn sẽ thấy máy chủ cục bộ có trạng thái LÊN.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22253%22%3E%3C/svg%3E
Bây giờ hãy nhấp vào menu Services và bạn sẽ thấy hệ thống giám sát mặc định trên Nagios, bao gồm tải hệ thống, người dùng đã đăng nhập, trạng thái HTTP, ping, mức sử dụng đĩa của root/phân vùng, trạng thái SSH, trạng thái SWAP và cả tổng quy trình trên hệ thống.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22250%22%3E%3C/svg%3E
Từ bây giờ, bạn có thể thêm và giám sát máy chủ thông qua Nagios hoặc bạn có thể khám phá plugin NRPE để giám sát máy chủ từ xa thông qua Nagios.
Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt Nagios trên máy chủ Debian 12. Bạn sẽ cài đặt Nagios trên Debian thông qua trình quản lý gói thay vì biên dịch thủ công.
Điều kiện tiên quyết
Trước khi bắt đầu, hãy đảm bảo bạn có những điều sau:- Máy chủ Debian 12.
- Người dùng không phải root có quyền sudo.
Cài đặt Nagios trên Debian
Để cài đặt Nagios, bạn có thể cài đặt thủ công bằng cách tự biên dịch. Hoặc, bạn cũng có thể cài đặt Nagios thông qua trình quản lý gói như APT. Trong ví dụ này, bạn sẽ cài đặt Nagios trên Debian 12 thông qua kho lưu trữ APT, nhanh hơn và dễ dàng hơn.Để bắt đầu, hãy chạy lệnh bên dưới để làm mới và cập nhật chỉ mục gói Debian của bạn.
Mã:
sudo apt update
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22218%22%3E%3C/svg%3E
Sau khi chỉ mục gói được cập nhật, hãy thực hiện lệnh bên dưới để cài đặt Nagios, monitoring-plugin và plugin Nagios NRPE thông qua kho lưu trữ Debian.
Mã:
sudo apt install nagios4 nagios4-common monitoring-plugins-contrib nagios-nrpe-plugin
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22345%22%3E%3C/svg%3E
Sau khi Nagios được cài đặt, hãy chạy lệnh systemctl bên dưới để bật dịch vụ nagios4.
Mã:
sudo systemctl enable nagios4
Mã:
sudo systemctl is-enabled nagios4
sudo systemctl status nagios4
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22370%22%3E%3C/svg%3E
Bây giờ bạn cũng có thể xác minh trạng thái máy chủ web Apache để đảm bảo rằng nó đã được cài đặt và đang chạy bằng lệnh bên dưới.
Mã:
sudo systemctl is-enabled apache2
sudo systemctl status apache2
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22247%22%3E%3C/svg%3E
Cuối cùng, hãy mở trình duyệt web và truy cập cài đặt Nagios của bạn http://192.168.5.15/nagios4. Bạn sẽ thấy bảng điều khiển Nagios như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22485%22%3E%3C/svg%3E
Tệp cấu hình và thư mục Nagios
Vì bạn đã cài đặt Nagios thông qua kho lưu trữ APT debian, nên bạn nên hiểu cấu trúc thư mục và cấu hình cài đặt Nagios của mình.Dưới đây là các tệp cấu hình và thư mục cho Nagios mà bạn phải biết:
- /etc/nagios4: cấu hình mặc định cho Nagios cài đặt.
- /etc/apache2/conf-available/nagios4-cgi.conf: Cấu hình Nagios liên quan đến tích hợp máy chủ web Apache.
- /etc/nagios-plugins: Thư mục cho plugin giám sát Nagios.
- /usr/lib/nagios/plugins: Vị trí của các lệnh kiểm tra cho plugin giám sát Nagios.
Bật xác thực Nagios
Theo mặc định, Nagios đi kèm với xác thực bị vô hiệu hóa, nhưng chỉ có mạng cục bộ mới được phép truy cập vào cài đặt của bạn. Trong ví dụ này, bạn sẽ bật xác thực cho Nagios. Theo cách này, chỉ những người dùng có tên người dùng và mật khẩu chính xác mới được phép truy cập bảng điều khiển Nagios.Mở tệp /etc/nagios4/cgi.conf bằng lệnh nano editor sau.
Mã:
sudo nano /etc/nagios4/cgi.conf
Mã:
# AUTHENTICATION USAGE
# This option controls whether or not the CGIs will use any
# Authentication when displaying host and service information, as
# well as committing commands to Nagios for processing.
#
# Read the HTML documentation to learn how the authorization works!
#
# NOTE: It is a really *bad* idea to disable authorization, unless
# you plan on removing the command CGI (cmd.cgi)! Failure to do
# so will leave you wide open to kiddies messing with Nagios and
# possibly hitting you with a denial of service attack by filling up
# your drive by continuously writing to your command file!
#
# Setting this value to 0 will cause the CGIs to *not* use
# authentication (bad idea), while any other value will make them
# use the authentication functions (the default).
use_authentication=1
Tiếp theo, khởi động lại dịch vụ nagios4 bằng lệnh sau để có hiệu lực.
Mã:
sudo systemctl restart nagios4
Thiết lập Apache Basic Auth cho Nagios
Bây giờ bạn đã bật xác thực Nagios trên phần Nagios, bước tiếp theo là thiết lập xác thực trên máy chủ web Apache thông qua basic_auth.Trước tiên, hãy chạy lệnh bên dưới để bật các mô-đun cần thiết, cgi, cgid và rewrite.
Mã:
sudo a2enmod cgi cgid rewrite
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22505%22%20height=%22161%22%3E%3C/svg%3E
Mở các tệp cấu hình Apache để cài đặt Nagios /etc/apache2/conf-available/nagios4-cgi.conf bằng lệnh trình soạn thảo nano sau.
Mã:
sudo nano /etc/apache2/conf-available/nagios4-cgi.conf
Mã:
Options FollowSymLinks
DirectoryIndex index.php index.html
AllowOverride AuthConfig
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Core"
AuthType Basic
AuthUserFile /etc/nagios4/htdigest.users
Require valid-user
Require all denied
Tiếp theo, chạy lệnh bên dưới để tạo người dùng mới nagiosadmin cho Apache basic auth. Theo mặc định, Nagios chỉ cho phép người dùng nagiosadmin hiển thị và quản lý Nagios.
Mã:
sudo htpasswd /etc/nagios4/htdigest.users nagiosadmin
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22711%22%20height=%22228%22%3E%3C/svg%3E
Cuối cùng, chạy lệnh bên dưới để khởi động lại dịch vụ apache2 và áp dụng các thay đổi của bạn. Sau đó, hãy xác minh Apache để đảm bảo nó đang chạy.
Mã:
sudo systemctl restart apache2
sudo systemctl status apache2
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22317%22%3E%3C/svg%3E
Sau khi hoàn tất bước này, bạn sẽ được nhắc khi truy cập cài đặt Nagios của mình.
Truy cập cài đặt Nagios bằng Đã bật xác thực
Quay lại trình duyệt web của bạn và tải lại tab Nagios. Nếu cấu hình của bạn thành công, bạn sẽ được nhắc nhập mô-đun Apache basic_auth.Nhập người dùng nagiosadmin với mật khẩu của bạn, sau đó nhấp vào Đăng nhập để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22469%22%20height=%22320%22%3E%3C/svg%3E
Nếu mật khẩu của bạn đúng, bạn sẽ được hiển thị bảng điều khiển Nagios.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22485%22%3E%3C/svg%3E
Nhấp vào menu Máy chủ và bạn sẽ thấy máy chủ cục bộ có trạng thái LÊN.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22253%22%3E%3C/svg%3E
Bây giờ hãy nhấp vào menu Services và bạn sẽ thấy hệ thống giám sát mặc định trên Nagios, bao gồm tải hệ thống, người dùng đã đăng nhập, trạng thái HTTP, ping, mức sử dụng đĩa của root/phân vùng, trạng thái SSH, trạng thái SWAP và cả tổng quy trình trên hệ thống.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22250%22%3E%3C/svg%3E
Kết luận
Xin chúc mừng và làm tốt lắm! Bạn đã hoàn tất quá trình cài đặt Nagios Monitoring Tool trên máy chủ Debian 12. Bạn đã cài đặt Nagios thông qua kho lưu trữ Debian APT, nơi cung cấp cách dễ nhất để triển khai Nagios. Ngoài ra, bạn cũng đã bật xác thực trên Nagios và triển khai mô-đun Apache basic_auth để bảo mật cài đặt Nagios của bạn.Từ bây giờ, bạn có thể thêm và giám sát máy chủ thông qua Nagios hoặc bạn có thể khám phá plugin NRPE để giám sát máy chủ từ xa thông qua Nagios.