Hướng Dẫn Cài Đặt Zabbix 7.4 trên Rocky Linux 9

Zabbix 7.4 là giải pháp giám sát hạ tầng mạnh mẽ, miễn phí và linh hoạt. Bài viết này sẽ hướng dẫn bạn cài đặt Zabbix 7.4 trên Rocky Linux 9 từng bước, giúp dễ dàng triển khai hệ thống giám sát tập trung cho server, dịch vụ và mạng doanh nghiệp.

Hướng Dẫn Cài Đặt Zabbix 7.4 trên Rocky Linux 9

1. Zabbix là gì?

Zabbix là một hệ thống giám sát tập trung mã nguồn mở. Nhiệm vụ chính của nó là thu thập, lưu trữ, xử lý và trực quan hóa dữ liệu từ toàn bộ hạ tầng CNTT, bao gồm: mạng lưới, máy chủ, máy ảo, container, ứng dụng, cơ sở dữ liệu và các dịch vụ đám mây.

Các giao thức hỗ trợ đa dạng Zabbix cực kỳ linh hoạt nhờ khả năng kết nối thông qua hàng loạt giao thức quản trị tiêu chuẩn và hiện đại:

– SNMP, IPMI, JMX: Dành cho thiết bị mạng và phần cứng server.

– SSH/Telnet: Hỗ trợ kết nối và kiểm tra từ xa.

– Zabbix Agent & Agent2: Phần mềm cài đặt trực tiếp trên thiết bị (đa nền tảng) để thu thập dữ liệu sâu.

– REST API: Hỗ trợ tích hợp với các phần mềm khác và tự động hóa quy trình.

Được xây dựng với kiến trúc tối ưu mục tiêu mở rộng, Zabbix có khả năng giám sát từ quy mô nhỏ (vài trăm thiết bị) đến quy mô khổng lồ (hàng trăm nghìn thiết bị và chỉ số) mà vẫn đảm bảo độ trễ thấp nhất.

2. Những tính năng cốt lõi của Zabbix

Zabbix chinh phục giới quản trị mạng nhờ 5 khả năng mạnh mẽ sau đây:

– Giám sát đa năng: Zabbix theo dõi được hầu hết các thành phần trong hệ thống IT: từ dịch vụ mạng, máy chủ đến thiết bị phần cứng. Điểm cộng lớn là sự linh hoạt giữa hai chế độ: giám sát có cài đặt phần mềm (Agent-based) và giám sát không cần cài đặt (Agentless), giúp nó thích nghi với mọi loại hạ tầng.

– Cảnh báo tức thời: Ngay khi phát hiện sự cố hoặc dấu hiệu bất thường (anomalies), hệ thống sẽ kích hoạt cảnh báo. Thông báo được gửi đi đa kênh qua Email, SMS, Slack, Telegram… đảm bảo quản trị viên không bỏ lỡ bất kỳ thông tin quan trọng nào.

– Tự động hóa phản hồi: Không chỉ báo lỗi, Zabbix còn hỗ trợ tự động xử lý. Dựa trên các kịch bản định sẵn, nó có thể tự động thực hiện tác vụ như: khởi động lại một dịch vụ bị treo hoặc mở rộng tài nguyên server mà không cần con người can thiệp thủ công.

– Trực quan hóa dữ liệu: Thông qua giao diện Web, Zabbix biến các con số khô khan thành biểu đồ và sơ đồ sinh động. Người dùng có thể tùy chỉnh Dashboard để xem dữ liệu hiệu suất theo thời gian thực hoặc xem lại lịch sử một cách dễ dàng.

– Cộng đồng và khả năng mở rộng: Là phần mềm mã nguồn mở (Open-source), Zabbix có một cộng đồng hỗ trợ cực kỳ lớn. Bạn có thể dễ dàng tìm thấy hàng nghìn plugin, tiện ích mở rộng và các mẫu cấu hình có sẵn để áp dụng ngay cho nhu cầu riêng của doanh nghiệp.

3. Kiến trúc hệ thống Zabbix

Một hệ thống Zabbix hoàn chỉnh được cấu thành từ các mảnh ghép phần mềm chính sau đây:

– Zabbix Server: Đây là thành phần trung tâm của hệ thống. Nó chịu trách nhiệm nhận báo cáo từ các Agent, xử lý dữ liệu, lưu trữ cấu hình và lưu trữ các số liệu thống kê vận hành.

– Database Storage: Tất cả thông tin cấu hình và hàng triệu dữ liệu thu thập được từ các thiết bị đều được lưu trữ tại đây (thường sử dụng MySQL, PostgreSQL…).

– Giao diện Web: Cổng giao tiếp giúp quản trị viên truy cập Zabbix từ bất kỳ đâu. Giao diện này thường chạy trên cùng máy chủ vật lý với Zabbix Server, cho phép xem biểu đồ và thiết lập cấu hình dễ dàng.

– Zabbix Proxy: Đóng vai trò là trạm trung chuyển giúp thu thập dữ liệu thay mặt cho Zabbix Server. Thành phần này rất hữu ích cho các hệ thống lớn hoặc phân tán, giúp giảm tải áp lực xử lý cho Server trung tâm.

– Zabbix Agent: Một phần mềm nhỏ được cài đặt trực tiếp lên các máy chủ hoặc thiết bị cần giám sát. Nó chủ động theo dõi tài nguyên nội bộ (CPU, RAM…) và báo cáo dữ liệu về Server.

Tổng thể, kiến trúc này cho phép Zabbix giám sát hàng nghìn luồng dữ liệu theo thời gian thực, giúp phát hiện sớm các sự cố trước khi chúng ảnh hưởng đến người dùng.

4. Cơ chế hoạt động Zabbix

Zabbix vận hành linh hoạt dựa trên hai mô hình chính: Giám sát qua Agent và Giám sát không cần Agent (Agentless).

– Với Agent: Các phần mềm điệp viên (Agents) được cài đặt trực tiếp lên từng thành phần CNTT. Chúng liên tục kiểm tra hiệu suất, thu thập dữ liệu và gửi báo cáo về máy chủ Zabbix trung tâm.

– Với Agentless: Hệ thống tận dụng các giao thức có sẵn trên thiết bị (như SNMP) để mô phỏng chức năng của Agent mà không cần cài đặt thêm phần mềm.

Mọi dữ liệu thu thập được sẽ được tổng hợp, phân tích và hiển thị trực quan trên giao diện Web (GUI). Tại đây, người dùng có thể tùy biến Dashboard với các Widget, biểu đồ, bản đồ mạng (Network maps) và báo cáo chi tiết (như báo cáo SLA hay KPI về tải trọng CPU). Nếu có bất kỳ chỉ số nào vượt ngưỡng an toàn, Zabbix sẽ lập tức gửi cảnh báo đến quản trị viên.

Để quản lý hàng nghìn thiết bị mà không cần thêm thủ công từng cái, Zabbix sử dụng 3 cơ chế tự động thông minh:

– Network Discovery: Hệ thống định kỳ quét toàn bộ dải mạng để tìm kiếm thiết bị mới. Nó tự động ghi nhận loại thiết bị, địa chỉ IP, trạng thái hoạt động cũng như thời gian uptime/downtime.

– Low-level Discovery (LLD – Phát hiện cấp thấp): Đây là tính năng mạnh mẽ giúp đi sâu vào “nội tạng” thiết bị. LLD tự động tạo ra các mục giám sát (items), các cảnh báo (triggers) và biểu đồ dựa trên những gì nó tìm thấy. Ví dụ: LLD có thể tự động phát hiện tất cả các card mạng (network interfaces) trên một Switch, các dịch vụ đang chạy trên Windows (Windows services) hoặc các cơ sở dữ liệu SQL.

– Active Agent Autoregistration: Cho phép server tự động bắt đầu giám sát ngay lập tức bất kỳ thiết bị nào vừa được cài đặt Zabbix Agent mà không cần admin phải thao tác thêm thủ công trên máy chủ.

5. Lợi ích của Zabbix

Zabbix là công cụ giám sát hạ tầng CNTT hàng đầu hiện nay nhờ sở hữu những lợi thế cạnh tranh vượt trội:

– Sự linh hoạt tối đa: Cho phép quản trị viên tùy biến sâu hệ thống thông qua việc viết các script giám sát riêng, tự thiết kế Dashboard theo dạng Widget và dễ dàng tích hợp với các phần mềm khác qua Zabbix API.

– Khả năng mở rộng: Vận hành hiệu quả trên mọi quy mô, từ những hệ thống nhỏ cho đến mạng lưới doanh nghiệp khổng lồ mà không gặp trở ngại về hiệu suất.

– Tính năng cao cấp: Trang bị sẵn các công cụ mạnh mẽ như phát hiện điểm bất thường (Anomaly detection), tự động phản hồi sự cố, hệ thống cảnh báo tức thì và phân tích dữ liệu lịch sử giúp quản trị viên luôn ở thế chủ động.

– Tiết kiệm chi phí: Là phần mềm mã nguồn mở miễn phí 100%, bạn có thể sử dụng trọn vẹn mọi tính năng cao cấp nhất mà không tốn một đồng chi phí bản quyền (License).

– Cộng đồng hỗ trợ lớn: Sở hữu kho tài liệu đồ sộ, diễn đàn sôi nổi và hàng ngàn hướng dẫn trực tuyến giúp giải quyết các vấn đề kỹ thuật nhanh chóng.

– Cập nhật liên tục: Các bản cập nhật thường xuyên đảm bảo hệ thống luôn bắt kịp công nghệ mới. Việc hỗ trợ cài đặt qua Docker cũng giúp quá trình triển khai và nâng cấp trở nên thần tốc.

6. Triển khai cài đặt Zabbix Server

6.1. Yêu cầu hệ thống

Thành phần Yêu cầu tối thiểu
Hệ điều hành Rocky Linux 9 (đã cài đặt sạch)
RAM 2 GB trở lên
Disk 50 GB trở lên
vCPU 2 core trở lên
PHP 8.2
Database MySQL 8.0
Web server Nginx
Hostname zabbix.hatechno.local

📌 Ghi nhớ: Trong bài này sử dụng cấu hình mẫu với IP 192.168.128.101. Bạn cần thay thế bằng IP thực tế của server mình.

6.2. Thực hiện cài đặt Zabbix Server

Bước 1: Chuẩn bị hệ thống

Trước tiên kiểm tra phiên bản OS và địa chỉ IP:

cat /etc/redhat-release && ip r

Cập nhật toàn bộ package lên phiên bản mới nhất:

dnf -y upgrade

Bước 2: Cài đặt Zabbix repository và các package

Thêm Zabbix repository chính thức cho Rocky Linux 9:

rpm -Uvh https://repo.zabbix.com/zabbix/7.4/release/rocky/9/noarch/zabbix-release-latest-7.4.el9.noarch.rpm
dnf clean all

Chuyển module PHP sang phiên bản 8.2 (Zabbix 7.4 yêu cầu PHP 8.2 trở lên):

dnf module switch-to php:8.2

Cài đặt Zabbix Server và các thành phần đi kèm:

dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

Giải thích các package vừa cài:

  • zabbix-server-mysql – tiến trình chính của Zabbix Server, kết nối với MySQL
  • zabbix-web-mysql – giao diện web quản trị
  • zabbix-nginx-conf – file cấu hình Nginx cho Zabbix
  • zabbix-sql-scripts – script SQL để khởi tạo database
  • zabbix-selinux-policy – policy SELinux cho Zabbix
  • zabbix-agent – agent giám sát (cài ngay trên server này)

Bước 3: Cài đặt và cấu hình MySQL

Cài đặt MySQL Server:

dnf install -y mysql-server mysql

Khởi động và bật tự động khởi động cùng hệ thống:

systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld

Đặt mật khẩu root cho MySQL (mặc định mật khẩu trống):

mysql -u root -p

Trong MySQL shell, chạy lệnh sau để đặt mật khẩu:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'P@ssw0rd@123';
FLUSH PRIVILEGES;

⚠️ Cảnh báo: Thay P@ssw0rd@123 bằng mật khẩu mạnh của bạn. Đừng dùng mật khẩu mẫu này trong môi trường thực tế.

Bước 4: Tạo database cho Zabbix

Đăng nhập MySQL với user root:

mysql -u root -p

Tạo database, user và phân quyền:

CREATE DATABASE zabbix_db CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

CREATE USER zabbix_user@localhost IDENTIFIED BY 'zabbix@123';

GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD

ON *.* TO 'zabbix_user'@'localhost' WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON zabbix_db.* TO zabbix_user@localhost;

SET GLOBAL log_bin_trust_function_creators = 1;

FLUSH PRIVILEGES;

\q

📌 Ghi nhớ: Dòng SET GLOBAL log_bin_trust_function_creators = 1 cần thiết để import schema thành công. Bạn sẽ tắt lại sau khi import xong.

Bước 5: Import schema database Zabbix

Lệnh sau sẽ import toàn bộ cấu trúc bảng và dữ liệu mặc định vào database vừa tạo:

zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix_user -p zabbix_db

Nhập mật khẩu zabbix@123 khi được hỏi. Quá trình import mất khoảng 1-3 phút tùy tốc độ máy.

Sau khi import xong, tắt tùy chọn log_bin_trust_function_creators:

mysql -uroot -p
SET GLOBAL log_bin_trust_function_creators = 0;
FLUSH PRIVILEGES;
\q

Bước 6: Cấu hình Zabbix Server

Mở file cấu hình Zabbix Server:

vi /etc/zabbix/zabbix_server.conf

Tìm và sửa (hoặc thêm) ba dòng sau – đảm bảo bỏ dấu # ở đầu dòng nếu có:

DBName=zabbix_db

DBUser=zabbix_user

DBPassword=zabbix@123

💡 Mẹo thực tế: Dùng lệnh grep -n “^#DB” /etc/zabbix/zabbix_server.conf để nhanh chóng tìm các dòng cần sửa.

Bước 7: Cấu hình Nginx

Mở file cấu hình Nginx cho Zabbix:

vi /etc/nginx/conf.d/zabbix.conf

Bỏ dấu # ở hai dòng sau và điền IP của server bạn:

listen          80;
server_name     192.168.128.101;

Bước 8: Khởi động và bật tất cả service

systemctl restart zabbix-server zabbix-agent nginx php-fpm
systemctl enable zabbix-server zabbix-agent nginx php-fpm

Kiểm tra trạng thái:

systemctl status zabbix-server
systemctl status nginx

Bước 9: Cấu hình Firewall

Mở các port cần thiết cho Zabbix:

systemctl start firewalld
firewall-cmd --zone=public --add-port=80/tcp --permanent    # Giao diện web
firewall-cmd --zone=public --add-port=443/tcp --permanent   # HTTPS (nếu dùng SSL)
firewall-cmd --zone=public --add-port=10050/tcp --permanent # Zabbix Agent (passive)
firewall-cmd --zone=public --add-port=10051/tcp --permanent # Zabbix Server
firewall-cmd --reload

Bước 10: Tắt SELinux (hoặc cấu hình policy)

⚠️ Lưu ý: Tắt SELinux hoàn toàn không phải giải pháp tốt cho production. Tuy nhiên với môi trường lab hoặc khi debug, bạn có thể tắt tạm thời. Package zabbix-selinux-policy đã được cài ở bước 2 sẽ tự xử lý phần lớn các rule cần thiết.

Nếu gặp lỗi liên quan SELinux, mở file và đổi sang disabled:

vi /etc/selinux/config

Sửa dòng:

SELINUX=disabled

Reboot server: reboot

Bước 11: Hoàn tất cài đặt qua giao diện web

Sau khi server khởi động lại, mở trình duyệt và truy cập:

http://192.168.128.101/setup.php

Thực hiện theo các bước wizard:

Step 1 – Welcome: Click Next step

Step 2 – Check of pre-requisites: Đảm bảo tất cả mục đều OK, rồi click Next step

Step 3 – Cấu hình kết nối DB – Điền thông tin database:

  • Database type: MySQL
  • Database host: localhost
  • Database name: zabbix_db
  • User: zabbix_user
  • Password: zabbix@123

Step 4 – Settings: Đặt tên Zabbix server và timezone (chọn Asia/Ho_Chi_Minh), click Next step

Step 5 – Pre-installation summary: Xem lại thông tin, click Next step

Step 6 – Install: Click Finish

7. Đăng nhập lần đầu

Sau khi hoàn tất wizard, bạn sẽ được chuyển đến trang đăng nhập. Dùng thông tin mặc định:

Trường Giá trị
Username Admin
Password zabbix

⚠️ Bắt buộc: Đổi mật khẩu mặc định ngay sau khi đăng nhập lần đầu. Vào User settings → Change password.

Giao diện sau khi đăng nhập

Kiểm tra sau cài đặt

Sau khi đăng nhập, kiểm tra trạng thái hệ thống:

# Kiểm tra Zabbix Server log

tail -f /var/log/zabbix/zabbix_server.log

# Kiểm tra kết nối database

mysql -uzabbix_user -p zabbix_db -e “SHOW TABLES;” | head -20

# Kiểm tra port đang lắng nghe

ss -tulpn | grep -E “10050|10051|80”

Trên dashboard, vào Monitoring → Hosts – nếu thấy host Zabbix server với trạng thái Available (màu xanh), cài đặt đã thành công.

8. Tổng kết

Như vậy, chúng ta đã hoàn thành việc cài đặt và cấu hình Zabbix Server trên Rocky Linux 9. Với nền tảng giám sát mạnh mẽ, linh hoạt và hoàn toàn miễn phí, Zabbix giúp quản trị viên chủ động theo dõi hệ thống, phát hiện sớm sự cố và nâng cao hiệu quả vận hành hạ tầng CNTT. Hy vọng bài viết sẽ giúp bạn triển khai thành công Zabbix trong môi trường thực tế.