Zabbix là giải pháp giám sát mã nguồn mở và miễn phí cho cơ sở hạ tầng CNTT. Giải pháp này cho phép bạn giám sát mạng, máy chủ, máy ảo và dịch vụ đám mây. Zabbix cung cấp mô hình máy khách/máy chủ. Bạn có thể dễ dàng cài đặt tác nhân Zabbix trên máy chủ mục tiêu và giám sát nó thông qua bảng điều khiển Zabbix. Zabbix cũng hỗ trợ các giao thức giám sát chung như SNMP và IPMI.
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt Giải pháp giám sát Zabbix trên máy chủ Debian 12. Bạn sẽ cài đặt Zabbix với PostgreSQL làm máy chủ cơ sở dữ liệu, máy chủ web Nginx và PHP-FPM.
Trước tiên, hãy chạy lệnh 'apt' bên dưới để 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=%22188%22%3E%3C/svg%3E
Bây giờ hãy cài đặt PostgreSQL bằng lệnh bên dưới. Nhập 'Y' để xác nhận cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22432%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy kiểm tra trạng thái dịch vụ 'postgresql' để đảm bảo dịch vụ đang chạy. Bạn sẽ thấy PostgreSQL có trạng thái 'đang chạy (đã thoát)', nghĩa là dịch vụ đang chạy, nhưng systemd không tìm thấy bất kỳ daemon nào để giám sát.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22205%22%3E%3C/svg%3E
Để tạo người dùng PostgreSQL mới 'zabbix', hãy chạy lệnh bên dưới. Bây giờ hãy nhập mật khẩu cho người dùng cơ sở dữ liệu của bạn và lặp lại khi được nhắc.
Bây giờ hãy chạy lệnh bên dưới để tạo cơ sở dữ liệu mới 'zabbix' với chủ sở hữu mặc định là 'zabbix'. Cơ sở dữ liệu và người dùng này sẽ được sử dụng để cài đặt Zabbix.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22709%22%20height=%22249%22%3E%3C/svg%3E
Tải xuống kho lưu trữ Zabbix cho hệ thống Debian bằng lệnh bên dưới. Trong ví dụ này, bạn sẽ cài đặt Zabbix 7.2 trên máy chủ Debian của mình. Sau khi tải xuống, tệp 'zabbix-release_latest_7.2+debian12_all.deb' sẽ có trong thư mục làm việc hiện tại của bạn.
Bây giờ hãy chạy lệnh 'dpkg' bên dưới để thêm kho lưu trữ Zabbix vào hệ thống của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22327%22%3E%3C/svg%3E
Sau đó, chạy lệnh 'apt' sau để làm mới kho lưu trữ Debian của bạn và cài đặt máy chủ Zabbix. Trong ví dụ này, bạn sẽ cài đặt Zabbix và Zabbix Agent với cơ sở dữ liệu PostgreSQL, máy chủ web Nginx và PHP-FPM.
Nhập 'Y' để tiếp tục cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22522%22%3E%3C/svg%3E
Nhập lược đồ cơ sở dữ liệu cho Zabbix vào cơ sở dữ liệu 'zabbix' với người dùng 'zabbix'. Nhập mật khẩu 'zabbix' của bạn khi được nhắc.
Tiếp theo, mở cấu hình Zabbix '/etc/zabbix/zabbix_server.conf' bằng trình soạn thảo 'nano'.
Bỏ ghi chú mặc định 'DBHost', 'DBName', 'DBUser' và 'DBPassword' bằng Thông tin đăng nhập PostgreSQL.
Lưu tệp và thoát khỏi trình chỉnh sửa khi hoàn tất.
Mở cấu hình Nginx '/etc/zabbix/nginx.conf' để tích hợp Zabbix với trình soạn thảo 'nano'.
Thay đổi tùy chọn 'listen' mặc định thành cổng '8080'. Trong ví dụ này, chúng tôi sẽ chạy Zabbix với máy chủ web Nginx trên cổng '8080'.
Thay đổi tùy chọn 'server_name' bằng tên miền của bạn. Trong ví dụ này, chúng tôi sẽ sử dụng tên miền cục bộ mà bạn có thể tạo thông qua tệp '/etc/hosts'.
Lưu tệp và thoát khỏi trình chỉnh sửa khi hoàn tất.
Cuối cùng, hãy chạy lệnh 'nginx' bên dưới để xác minh cấu hình Nginx của bạn. Nếu bạn đã sửa cấu hình Nginx, bạn sẽ thấy đầu ra như sau 'cú pháp ổn - thử nghiệm thành công'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22259%22%3E%3C/svg%3E
Trước tiên, hãy chạy lệnh 'systemctl' bên dưới để bật các dịch vụ cho 'zabbix-server', 'zabbix-agent', 'nginx' và 'php8.2-fpm'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22225%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh sau để khởi động lại các dịch vụ Zabbix và áp dụng các thay đổi mới của bạn vào Zabbix.
Cuối cùng, hãy kiểm tra các dịch vụ Zabbix đó bằng lệnh sau để đảm bảo rằng dịch vụ đang chạy.
Bạn có thể thấy bên dưới rằng 'zabbix-server' đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22196%22%3E%3C/svg%3E
Cả 'zabbix-agent' cũng đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22263%22%3E%3C/svg%3E
Dưới đây, bạn có thể thấy dịch vụ 'nginx' đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22262%22%3E%3C/svg%3E
Cuối cùng, bạn có thể thấy dịch vụ 'php8.2-fpm' đang chạy trên máy chủ của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22229%22%3E%3C/svg%3E
Trên máy tính cục bộ của bạn, hãy chỉnh sửa tệp '/etc/hosts' bằng trình soạn thảo văn bản của bạn. Đảm bảo sử dụng quyền quản trị viên. Đối với người dùng Windows, bạn có thể sửa đổi 'C:\Windows\System32\drivers\etc\hosts' thành quản trị viên.
Trong tệp 'hosts', hãy xác định địa chỉ IP máy chủ Zabbix và tên miền của bạn như sau:
Lưu tệp và thoát khỏi trình chỉnh sửa.
Bây giờ hãy mở trình duyệt web của bạn và truy cập http://zabbix.howtoforge.local:8080/. Nếu cài đặt Zabbix thành công, bạn sẽ thấy trình hướng dẫn cài đặt Zabbix.
Chọn ngôn ngữ mặc định của bạn cho Zabbix và nhấp vào 'Bước tiếp theo' để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22475%22%3E%3C/svg%3E
Trong quá trình kiểm tra trước, hãy đảm bảo rằng cấu hình máy chủ của bạn đáp ứng các yêu cầu của Zabbix.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22462%22%3E%3C/svg%3E
Bây giờ hãy chọn cơ sở dữ liệu là 'PostgreSQL' và nhập thông tin chi tiết về cơ sở dữ liệu của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22470%22%3E%3C/svg%3E
Nhập tên máy chủ của bạn và chọn múi giờ mặc định cho Zabbix.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22474%22%3E%3C/svg%3E
Kiểm tra mọi thứ trước khi tiếp tục, sau đó nhấp vào 'Bước tiếp theo'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22462%22%3E%3C/svg%3E
Sau khi quá trình cài đặt hoàn tất, bạn sẽ thấy một thông báo như 'Xin chúc mừng! Bạn đã cài đặt thành công giao diện Zabbix.'.
Nhấp vào 'Hoàn tất' để hoàn tất quá trình cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22469%22%3E%3C/svg%3E
Bây giờ bạn sẽ được chuyển hướng đến trang đăng nhập Zabbix. Nhập người dùng Admin và mật khẩu zabbix, sau đó nhấp vào 'Đăng nhập'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22485%22%20height=%22476%22%3E%3C/svg%3E
Nếu mọi việc diễn ra tốt đẹp, bạn sẽ thấy bảng điều khiển quản trị Zabbix sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22370%22%3E%3C/svg%3E
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt Giải pháp giám sát Zabbix trên máy chủ Debian 12. Bạn sẽ cài đặt Zabbix với PostgreSQL làm máy chủ cơ sở dữ liệu, máy chủ web Nginx và PHP-FPM.
Điều kiện tiên quyết
Để bắt đầu với hướng dẫn này, 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ó người dùng quản trị viên
Cài đặt PostgreSQL Server
Theo mặc định, Zabbix hỗ trợ RDBMS như MySQL và PostgreSQL. Trong hướng dẫn này, bạn sẽ sử dụng PostgreSQL làm cơ sở dữ liệu cài đặt Zabbix. Vì vậy, hiện tại, bạn sẽ cài đặt PostgreSQL từ kho lưu trữ Debian bằng trình quản lý gói APT.Trước tiên, hãy chạy lệnh 'apt' bên dưới để 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=%22188%22%3E%3C/svg%3E
Bây giờ hãy cài đặt PostgreSQL bằng lệnh bên dưới. Nhập 'Y' để xác nhận cài đặt.
Mã:
sudo apt install postgresql postgresql-contrib
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22432%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy kiểm tra trạng thái dịch vụ 'postgresql' để đảm bảo dịch vụ đang chạy. Bạn sẽ thấy PostgreSQL có trạng thái 'đang chạy (đã thoát)', nghĩa là dịch vụ đang chạy, nhưng systemd không tìm thấy bất kỳ daemon nào để giám sát.
Mã:
sudo systemctl is-enabled postgresql
sudo systemctl status postgresql
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22205%22%3E%3C/svg%3E
Đang tạo Cơ sở dữ liệu và người dùng PostgreSQL
Sau khi cài đặt PostgreSQL, bạn phải tạo một người dùng và cơ sở dữ liệu mới cho Zabbix. Trong bước này, bạn sẽ sử dụng lệnh 'createuser' để tạo một vai trò mới trong PostgreSQL và lệnh 'createdb' để tạo cơ sở dữ liệu PostgreSQL.Để tạo người dùng PostgreSQL mới 'zabbix', hãy chạy lệnh bên dưới. Bây giờ hãy nhập mật khẩu cho người dùng cơ sở dữ liệu của bạn và lặp lại khi được nhắc.
Mã:
sudo -u postgres createuser --pwprompt zabbix
Mã:
sudo -u postgres createdb -O zabbix zabbix
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22709%22%20height=%22249%22%3E%3C/svg%3E
Cài đặt Zabbix
Bây giờ bạn đã cài đặt và cấu hình PostgreSQL, hãy thêm kho lưu trữ Zabbix và cài đặt các gói Zabbix như 'zabbix-frontend-php', 'zabbix-server-pgsql' và 'zabbix-agent'. Ngoài ra, điều này sẽ tự động cài đặt máy chủ web Nginx và PHP-FPM, sẽ được sử dụng bởi front-end Zabbix.Tải xuống kho lưu trữ Zabbix cho hệ thống Debian bằng lệnh bên dưới. Trong ví dụ này, bạn sẽ cài đặt Zabbix 7.2 trên máy chủ Debian của mình. Sau khi tải xuống, tệp 'zabbix-release_latest_7.2+debian12_all.deb' sẽ có trong thư mục làm việc hiện tại của bạn.
Mã:
wget https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.2+debian12_all.deb
Mã:
sudo dpkg -i zabbix-release_latest_7.2+debian12_all.deb
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22327%22%3E%3C/svg%3E
Sau đó, chạy lệnh 'apt' sau để làm mới kho lưu trữ Debian của bạn và cài đặt máy chủ Zabbix. Trong ví dụ này, bạn sẽ cài đặt Zabbix và Zabbix Agent với cơ sở dữ liệu PostgreSQL, máy chủ web Nginx và PHP-FPM.
Mã:
sudo apt update
sudo apt install zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22522%22%3E%3C/svg%3E
Tích hợp Zabbix với PostgreSQL
Bây giờ bạn đã cài đặt các gói Zabbix, bước tiếp theo là tích hợp Zabbix với máy chủ cơ sở dữ liệu PostgreSQL. Để thực hiện điều đó, bạn cần nhập lược đồ cơ sở dữ liệu Zabbix và sửa đổi thông tin đăng nhập PostgreSQL trong tệp '/etc/zabbix/zabbix_server.conf'.Nhập lược đồ cơ sở dữ liệu cho Zabbix vào cơ sở dữ liệu 'zabbix' với người dùng 'zabbix'. Nhập mật khẩu 'zabbix' của bạn khi được nhắc.
Mã:
zcat /usr/share/zabbix/sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
Mã:
sudo nano /etc/zabbix/zabbix_server.conf
Mã:
DBHost = localhost
DBName = zabbix
DBUser = zabbix
DBPassword = password
Thiết lập Máy chủ web Nginx
Bây giờ bạn đã tích hợp Zabbix với PostgreSQL, hãy cấu hình máy chủ web Nginx. Theo mặc định, cấu hình Nginx cho Zabbix có sẵn trong tệp '/etc/zabbix/nginx.conf' và bây giờ bạn cần sửa đổi tệp này bằng cách thay đổi tên miền mặc định và thay đổi cổng mặc định cho Zabbix (tùy chọn).Mở cấu hình Nginx '/etc/zabbix/nginx.conf' để tích hợp Zabbix với trình soạn thảo 'nano'.
Mã:
sudo nano /etc/zabbix/nginx.conf
Mã:
listen 8080;
Mã:
server_name zabbix.howtoforge.local;
Cuối cùng, hãy chạy lệnh 'nginx' bên dưới để xác minh cấu hình Nginx của bạn. Nếu bạn đã sửa cấu hình Nginx, bạn sẽ thấy đầu ra như sau 'cú pháp ổn - thử nghiệm thành công'.
Mã:
sudo nginx -t
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22259%22%3E%3C/svg%3E
Đang khởi động lại Zabbix Dịch vụ
Tại thời điểm này, bạn đã cài đặt các gói Zabbix và tích hợp Zabbix với máy chủ PostgreSQL và máy chủ web Nginx. Bây giờ, bạn cần khởi động lại từng dịch vụ Zabbix để áp dụng tất cả các thay đổi của mình, sau đó bạn cần kiểm tra từng dịch vụ Zabbix để đảm bảo rằng chúng đang chạy.Trước tiên, hãy chạy lệnh 'systemctl' bên dưới để bật các dịch vụ cho 'zabbix-server', 'zabbix-agent', 'nginx' và 'php8.2-fpm'.
Mã:
sudo systemctl enable zabbix-server zabbix-agent nginx php8.2-fpm
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22225%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh sau để khởi động lại các dịch vụ Zabbix và áp dụng các thay đổi mới của bạn vào Zabbix.
Mã:
sudo systemctl restart zabbix-server zabbix-agent nginx php8.2-fpm
Mã:
sudo systemctl status zabbix-server zabbix-agent nginx php8.2-fpm
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22196%22%3E%3C/svg%3E
Cả 'zabbix-agent' cũng đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22263%22%3E%3C/svg%3E
Dưới đây, bạn có thể thấy dịch vụ 'nginx' đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22262%22%3E%3C/svg%3E
Cuối cùng, bạn có thể thấy dịch vụ 'php8.2-fpm' đang chạy trên máy chủ của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22229%22%3E%3C/svg%3E
Trình hướng dẫn cài đặt Zabbix
Với mỗi dịch vụ Zabbix đang chạy, giờ đây bạn có thể truy cập cài đặt Zabbix của mình.Trên máy tính cục bộ của bạn, hãy chỉnh sửa tệp '/etc/hosts' bằng trình soạn thảo văn bản của bạn. Đảm bảo sử dụng quyền quản trị viên. Đối với người dùng Windows, bạn có thể sửa đổi 'C:\Windows\System32\drivers\etc\hosts' thành quản trị viên.
Trong tệp 'hosts', hãy xác định địa chỉ IP máy chủ Zabbix và tên miền của bạn như sau:
Mã:
192.168.10.10 zabbix.howtoforge.local
Bây giờ hãy mở trình duyệt web của bạn và truy cập http://zabbix.howtoforge.local:8080/. Nếu cài đặt Zabbix thành công, bạn sẽ thấy trình hướng dẫn cài đặt Zabbix.
Chọn ngôn ngữ mặc định của bạn cho Zabbix và nhấp vào 'Bước tiếp theo' để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22475%22%3E%3C/svg%3E
Trong quá trình kiểm tra trước, hãy đảm bảo rằng cấu hình máy chủ của bạn đáp ứng các yêu cầu của Zabbix.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22462%22%3E%3C/svg%3E
Bây giờ hãy chọn cơ sở dữ liệu là 'PostgreSQL' và nhập thông tin chi tiết về cơ sở dữ liệu của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22470%22%3E%3C/svg%3E
Nhập tên máy chủ của bạn và chọn múi giờ mặc định cho Zabbix.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22474%22%3E%3C/svg%3E
Kiểm tra mọi thứ trước khi tiếp tục, sau đó nhấp vào 'Bước tiếp theo'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22462%22%3E%3C/svg%3E
Sau khi quá trình cài đặt hoàn tất, bạn sẽ thấy một thông báo như 'Xin chúc mừng! Bạn đã cài đặt thành công giao diện Zabbix.'.
Nhấp vào 'Hoàn tất' để hoàn tất quá trình cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22469%22%3E%3C/svg%3E
Bây giờ bạn sẽ được chuyển hướng đến trang đăng nhập Zabbix. Nhập người dùng Admin và mật khẩu zabbix, sau đó nhấp vào 'Đăng nhập'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22485%22%20height=%22476%22%3E%3C/svg%3E
Nếu mọi việc diễn ra tốt đẹp, bạn sẽ thấy bảng điều khiển quản trị Zabbix sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22370%22%3E%3C/svg%3E