Nagios là một trong những công cụ giám sát mã nguồn mở mạnh mẽ và phổ biến nhất, giúp theo dõi trạng thái máy chủ, dịch vụ, và các thiết bị mạng khác. Bài viết này sẽ hướng dẫn bạn cách cài đặt Nagios Core trong Ubuntu 24.04, bao gồm cả cài đặt LAMP, cấu hình giám sát localhost và máy chủ khác.
Contents
- 1 ☑️ 1. Cài đặt LAMP trong Ubuntu 24.04
- 2 ⚙️ 2. Cài đặt Nagios Core
- 2.1 Bước 1: Cài gói phụ thuộc
- 2.2 Bước 2: Tạo người dùng Nagios
- 2.3 Bước 3: Tải và cài đặt Nagios Core bằng cách chạy lần lượt các lệnh sau
- 2.4 Vì sao cần Nagios Plugins?
- 2.5 Bước 4: Download Nagios plugins mới nhất và cài đặt nó sử dụng lần lượt các lệnh sau.
- 2.6 Bước 5: Tạo user đăng nhập web và Bật (Enable) Apache Module
- 3 ️ 3. Cấu hình giám sát localhost (chính server cài Nagios)
- 4 4. Giám sát máy chủ khác – Cấu hình Plugin NRPE để giám sát hệ thống từ Nagios Server (Ubuntu 24.04) đến CentOS 9.
- 4.1 Mục tiêu
- 4.2 ️ 1. Trên máy chủ Nagios (Ubuntu 24.04), giả sử có IP là “192.168.146.164”, bạn hãy thay đổi theo IP Server của bạn.
- 4.3 ️ 2. Trên máy khách CentOS 9 (Client)
- 4.4 3. Trở lại máy chủ Nagios (Ubuntu 24.04)
- 4.5 Do nếu thư mục chứa file cấu hình linux-centos.cfg chưa được khai báo, thì Nagios sẽ không biết để đọc file đó.Vậy cần khai báo file cấu hình linux-centos.cfg vào nagios.cfg như sau.
- 5 ✅ Kết luận
☑️ 1. Cài đặt LAMP trong Ubuntu 24.04
Nagios sử dụng giao diện web viết bằng PHP, vì vậy bạn cần cài đặt LAMP (Linux, Apache, MySQL/MariaDB, PHP) bằng các lệnh sau.
Giải thích: Cập nhật danh sách gói phần mềm để đảm bảo bạn cài phiên bản mới nhất.
Giải thích: Cài đặt Apache web server và PHP – nền tảng cho giao diện web của Nagios.
Giải thích: Cài đặt cơ sở dữ liệu MariaDB (Mặc dù Nagios Core không cần, tuy nhiên nhiều plugin Nagios sử dụng DB để lưu lịch sử dữ liệu).
Kiểm tra Apache:
⚙️ 2. Cài đặt Nagios Core
Bước 1: Cài gói phụ thuộc
Giải thích: Các gói này cần thiết để biên dịch mã nguồn Nagios.
Bước 2: Tạo người dùng Nagios
Giải thích: Tạo người dùng và nhóm chuyên biệt để chạy Nagios an toàn.
Bước 3: Tải và cài đặt Nagios Core bằng cách chạy lần lượt các lệnh sau
Giải thích: Cấu hình, biên dịch và cài đặt Nagios cũng như cấu hình web interface.
Vì sao cần Nagios Plugins?
Nagios Plugins là tập hợp các script và chương trình giúp Nagios kiểm tra các dịch vụ (HTTP, SSH, Load, Disk…). Khi bạn cài từ mã nguồn (source), các plugin cần được biên dịch nên đòi hỏi nhiều gói thư viện và công cụ build.
Bước 4: Download Nagios plugins mới nhất và cài đặt nó sử dụng lần lượt các lệnh sau.
Giải thích: Plugin giúp Nagios thực hiện kiểm tra các dịch vụ (ping, http, load, etc.)
Kết quả chạy thành công của lệnh “make” và “sudo make install“.
Bước 5: Tạo user đăng nhập web và Bật (Enable) Apache Module
Giải thích: Tạo tài khoản
nagiosadminđể đăng nhập giao diện web củaNagios.
- Bật (Enable) Apache rewrite module.
sudo a2enmod rewrite
- Bật (Enable) Apache CGI module.
sudo a2enmod cgi
Khởi động dịch vụ:
️ 3. Cấu hình giám sát localhost (chính server cài Nagios)
Nagios đã có sẵn cấu hình mẫu trong /usr/local/nagios/etc/objects/localhost.cfg, bao gồm giám sát:
-
Load
-
Disk
-
Memory
-
SSH
-
Ping
Bạn chỉ cần chắc chắn rằng file localhost.cfg được include trong nagios.cfg (mặc định đã có):
Giải thích: Đảm bảo dòng sau KHÔNG bị comment:
4. Giám sát máy chủ khác – Cấu hình Plugin NRPE để giám sát hệ thống từ Nagios Server (Ubuntu 24.04) đến CentOS 9.
️ 1. Trên máy chủ Nagios (Ubuntu 24.04), giả sử có IP là “192.168.146.164”, bạn hãy thay đổi theo IP Server của bạn.
Bước 1: Cài đặt plugin NRPE
sudo apt update
sudo apt install -y nagios-plugins nagios-nrpe-plugin
Giải thích:
-
nagios-plugins: Gồm các lệnh giám sát nhưcheck_disk,check_load… -
nagios-nrpe-plugin: Dùng để gửi yêu cầu từ Nagios đến NRPE trong máy client.

️ 2. Trên máy khách CentOS 9 (Client)
Bước 1: Cài EPEL và các packages cần thiết
sudo dnf config-manager --set-enable crb
sudo dnf install epel-release epel-next-release -y

Bước 2: Cài đặt NRPE và các plugin giám sát
sudo dnf --enablerepo=epel -y install nrpe nagios-plugins-all
Giải thích:
-
nagios-plugins-allgiúp bạn có đủ các plugin nhưcheck_http,check_mysql,check_ping…

Bước 3: Cấu hình NRPE
Mở file cấu hình:
sudo vi /etc/nagios/nrpe.cfg
Tìm dòng sau và sửa lại IP máy chủ Nagios, để cho phép máy chủ Nagios truy cập và kiểm tra Centos 9 :
allowed_hosts=127.0.0.1,::1,192.168.146.164
Lưu ý: Địa chỉ 192.168.146.164 là IP của máy chủ Nagios. Hãy điều chỉnh theo hệ thống thực tế của bạn.

✅ Tạo user MariaDB chỉ dùng cho giám sát với check_mysql
Bước 1: Đăng nhập vào MariaDB/MySQL trong Centos 9
sudo mysql -u root -p
Bước 2: Tạo user giám sát và cấp quyền cần thiết
CREATE USER 'nagios'@'localhost' IDENTIFIED BY 'YourStrongPassword!';
GRANT USAGE ON *.* TO 'nagios'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Giải thích lệnh SQL:
-
USAGE: Quyền truy cập cơ bản, không cho phép xem dữ liệu, chỉ dùng để kiểm tra kết nối DB. -
'localhost': Giới hạn chỉ cho phép kết nối từ chính máy CentOS, giúp bảo mật hệ thống.

Bước 4: Thêm lệnh kiểm tra vào NRPE
Comment các dòng cấu hình này ở gần cuối file /etc/nagios/nrpe.cfg
#command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10
#command[check_load]=/usr/lib64/nagios/plugins/check_load -r -w .15,.10,.05 -c .30,.25,.20
#command[check_hda1]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1
#command[check_zombie_procs]=/usr/lib64/nagios/plugins/check_procs -w 5 -c 10 -s Z
#command[check_total_procs]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200
Và thêm các dòng cấu hình sau vào cuối file /etc/nagios/nrpe.cfg:
command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib64/nagios/plugins/check_load -w 1.0,1.5,2.0 -c 5.0,5.5,6.0
command[check_disk]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_ssh]=/usr/lib64/nagios/plugins/check_ssh localhost
command[check_ping]=/usr/lib64/nagios/plugins/check_ping -H 127.0.0.1 -w 100.0,20% -c 500.0,60%
# Kiểm tra Apache Web Server
command[check_apache]=/usr/lib64/nagios/plugins/check_http -I 127.0.0.1 -p 80
# Kiểm tra MariaDB (giả sử user: nagios, và mật khẩu mà bạn đã chạy lệnh SQL)
command[check_mysql]=/usr/lib64/nagios/plugins/check_mysql -H 127.0.0.1 -u nagios -p YourStrongPassword!
Giải thích bổ sung:
-
check_http: kiểm tra phản hồi HTTP từ Apache. -
check_mysql: kiểm tra trạng thái kết nối MariaDB qua tài khoản nagios.

Bước 5: Khởi động lại NRPE
sudo systemctl enable nrpe
sudo systemctl restart nrpe

Lưu ý cần tắt Firewalld hoặc Iptables để cho phép máy chủ Nagios truy cập vào (Nếu cần bảo mật hệ thống hãy cấu hình Firewall chỉ cho phép truy cập vào cổng nrpe là 5666) bằng các lệnh sau:
sudo systemctl stop firewalld
sudo systemctl stop iptables
3. Trở lại máy chủ Nagios (Ubuntu 24.04)
Bước 1: Kiểm tra kết nối NRPE
/usr/lib/nagios/plugins/check_nrpe -H 192.168.146.133
⏱ Kết quả hợp lệ: NRPE v4.x.x

Bước 2: Khai báo command check_nrpe
Chạy lệnh soạn thảo để soạn thảo file cấu hình như sau.
sudo vi /usr/local/nagios/etc/objects/commands.cfg
Di chuyển đến dòng cuối cùng vàthêm:
define command {
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
Bước 3: Định nghĩa host và các service trong file riêng
- Nếu kiểm tra chưa có thư mục /usr/local/nagios/etc/servers , hãy chạy lệnh sau để tạo thư mục này.
sudo mkdir /usr/local/nagios/etc/servers
Và chạy lệnh soạn thảo để soạn thảo file cấu hình như sau.
sudo vi /usr/local/nagios/etc/servers/linux-centos.cfg
Thêm nội dung:
define host {
use linux-server
host_name centos9
alias centos9
address 192.168.146.133
}
define service {
use generic-service
host_name centos9
service_description Check Load
check_command check_nrpe!check_load
}
define service {
use generic-service
host_name centos9
service_description Check Disk
check_command check_nrpe!check_disk
}
define service {
use generic-service
host_name centos9
service_description Check SSH
check_command check_nrpe!check_ssh
}
define service {
use generic-service
host_name centos9
service_description Check Ping
check_command check_nrpe!check_ping
}
define service {
use generic-service
host_name centos9
service_description Check Apache
check_command check_nrpe!check_apache
}
define service {
use generic-service
host_name centos9
service_description Check MariaDB
check_command check_nrpe!check_mysql
}
Bước 4: Cần khai báo file cấu hìnhlinux-centos.cfgvàonagios.cfg.
Do nếu thư mục chứa file cấu hình linux-centos.cfg chưa được khai báo, thì Nagios sẽ không biết để đọc file đó.Vậy cần khai báo file cấu hình linux-centos.cfg vào nagios.cfg như sau.
sudo vi /usr/local/nagios/etc/nagios.cfg
Và bỏ comment dòng cấu hình sau:
cfg_dir=/usr/local/nagios/etc/servers

Bước 5: Cần khai báo đường dẫn thực thi plugin check_nrpecho Nagios như sau:
Mở file cấu hình:
sudo nano /usr/local/nagios/etc/resource.cfg
Tìm dòng:
$USER1$=/usr/local/nagios/libexec
Thay bằng:
$USER1$=/usr/lib/nagios/plugins
✅ Giải thích thêm
-
$USER1$là biến macro trong cấu hình Nagios, thường đại diện cho đường dẫn chứa các plugin kiểm tra (ví dụ nhưcheck_ping,check_http,check_nrpe,…). -
Trên Ubuntu cài từ repo, plugin được cài vào
/usr/lib/nagios/plugins. -
Nhưng mặc định Nagios lại tìm trong
/usr/local/nagios/libexec, nên bạn cần sửa lại cho đúng.

Bước 6: Kiểm tra cấu hình và khởi động lại Nagios
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
sudo systemctl restart nagios

✅ Kết quả mong đợi
Khi truy cập http://<IP của Nagios Server>/nagios, bạn sẽ thấy hostcentos9 hiển thị cùng trạng thái của các dịch vụ như Disk, Load, Apache, MariaDB, SSH, Ping, giúp bạn giám sát hệ thống chủ động và hiệu quả.

✅ Kết luận
Qua hướng dẫn này, bạn đã có thể cấu hình đầy đủ hệ thống giám sát phân tán với Nagios + NRPE, bao gồm cả kiểm tra dịch vụ web và cơ sở dữ liệu. Hướng dẫn phù hợp với người học Linux, DevOps, và kỹ sư hệ thống doanh nghiệp thực tế.
Và qua bài viết này, bạn đã nắm được cách:
-
Cài đặt đầy đủ Nagios Core trên Ubuntu 24.04
-
Cài đặt LAMP phục vụ giao diện web
-
Giám sát localhost và các máy chủ khác
Nagios là công cụ rất mạnh mẽ và mở rộng được – bạn có thể tích hợp thêm check từ SNMP, log, hệ thống cloud…
#Nagios #NagiosCore #Ubuntu2404 #GiámSátServer #LinuxMonitoring #LAMP #SysAdmin #NagiosUbuntu #NagiosPlugin #OpenSourceMonitoring#Nagios #LinuxMonitoring #NRPEPlugin #GiámSátApache #MariaDBMonitoring #SysAdmin #DevOpsVietnam

















