Site icon ZingServer

Hướng dẫn cấu hình Zabbix Agent để giám sát VPS Linux

Cấu hình Zabbix Agent để giám sát VPS Linux

Cấu hình Zabbix Agent để giám sát VPS Linux

Trong hệ thống giám sát Zabbix, Zabbix Agent đóng vai trò thiết yếu trong việc thu thập dữ liệu từ các máy chủ và thiết bị cần giám sát. Bài viết này sẽ hướng dẫn bạn cách cài đặt, cấu hình Zabbix Agent trên VPS Linux và tích hợp nó với Zabbix Server để bắt đầu thu thập dữ liệu hiệu quả.

Tổng quan về Zabbix Agent và vai trò giám sát

Zabbix Agent là phần mềm nhẹ chạy trên VPS/Linux host. Nó thu thập dữ liệu hệ thống như CPU, RAM, ổ đĩa, mạng… và truyền về Zabbix Server để giám sát thời gian thực, từ đó phát hiện sớm vấn đề và kích hoạt cảnh báo tự động.

Mô hình kết nối giữa Agent và Server:

Zabbix Agent hỗ trợ hai chế độ giao tiếp linh hoạt tùy theo cấu hình tường lửa của bạn:

Yêu cầu hệ thống và chuẩn bị

Để quá trình cài đặt và cấu hình Zabbix Agent diễn ra suôn sẻ, bạn cần đảm bảo VPS Linux của mình đáp ứng các yêu cầu cơ bản và có các thông tin cần thiết.

Hướng dẫn cài đặt Zabbix Agent trên VPS Linux

Các bước này sẽ hướng dẫn bạn cài đặt Zabbix Agent 7.2 trên các bản phân phối Linux phổ biến bằng cách sử dụng kho lưu trữ chính thức của Zabbix.

Ghi chú chung: Trong các lệnh dưới đây, hãy thay thế your_zabbix_server_ip_or_domain bằng địa chỉ IP hoặc tên miền thực tế của Zabbix Server của bạn.

Cài đặt Zabbix Agent trên Ubuntu (20.04/22.04)

1. Cập nhật hệ thống:

sudo apt update
sudo apt upgrade -y

2. Thêm kho lưu trữ Zabbix Agent:

wget https://repo.zabbix.com/zabbix/7.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.2-1+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_7.2-1+ubuntu22.04_all.deb
sudo apt update

3. Cài đặt Zabbix Agent:

sudo apt install zabbix-agent -y

4. Cấu hình tường lửa (UFW) trên VPS: Nếu bạn đang sử dụng UFW, hãy cho phép Zabbix Server kết nối đến cổng Agent (10050).

sudo ufw allow from your_zabbix_server_ip_or_domain to any port 10050
sudo ufw reload

Cài đặt Zabbix Agent trên AlmaLinux/Rocky Linux (8/9)

1. Cập nhật hệ thống:

sudo dnf update -y

2. Thêm kho lưu trữ Zabbix Agent: Để cài đặt Zabbix Agent phiên bản 7.2, bạn cần thêm kho lưu trữ Zabbix chính thức.

sudo rpm -Uvh https://repo.zabbix.com/zabbix/7.2/rhel/8/x86_64/zabbix-release-7.2-1.el8.noarch.rpm
sudo rpm -Uvh https://repo.zabbix.com/zabbix/7.2/rhel/9/x86_64/zabbix-release-7.2-1.el9.noarch.rpm
sudo dnf clean all

3. Cài đặt Zabbix Agent:

sudo dnf install zabbix-agent -y

4. Cấu hình tường lửa (FirewallD) trên VPS: Nếu bạn đang sử dụng FirewallD trên AlmaLinux/Rocky Linux, bạn cần cho phép Zabbix Server kết nối đến cổng Agent (10050).

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="your_zabbix_server_ip_or_domain" port port="10050" protocol="tcp" accept'
sudo firewall-cmd --reload

5. Cấu hình SELinux (nếu đang ở chế độ Enforcing): Thông thường, việc cấu hình FirewallD là đủ. Tuy nhiên, nếu gặp sự cố, bạn có thể cần điều chỉnh SELinux (tham khảo thêm tại tài liệu chính thức của Zabbix về SELinux).

Cấu hình Zabbix Agent để kết nối với Zabbix Server

Sau khi Zabbix Agent đã được cài đặt, bạn cần chỉnh sửa file cấu hình của nó để Agent biết cách liên lạc với Zabbix Server của bạn.

1. Mở file cấu hình Zabbix Agent:

sudo nano /etc/zabbix/zabbix_agentd.conf

2. Chỉnh sửa các tham số quan trọng: Tìm và bỏ comment (nếu có dấu # ở đầu dòng) các tham số sau:

Server=your_zabbix_server_ip_or_domain
ServerActive=your_zabbix_server_ip_or_domain:10051
Hostname=Your_VPS_Hostname_in_Zabbix

Bạn có thể sử dụng lệnh hostname trên VPS để lấy tên máy chủ hiện tại làm gợi ý.

3. Lưu và đóng file cấu hình.

4. Khởi động lại Zabbix Agent:

sudo systemctl restart zabbix-agent

5. Bật chế độ khởi động cùng hệ thống:

sudo systemctl enable zabbix-agent

Lưu ý: Nếu không bật chế độ khởi động cùng hệ thống, Agent sẽ không hoạt động sau khi VPS khởi động lại.

6. Kiểm tra trạng thái Zabbix Agent:

sudo systemctl status zabbix-agent

Đảm bảo dịch vụ đang chạy (active (running)).

Thêm Host và áp dụng Template trên Zabbix Server Frontend

Sau khi Zabbix Agent đã được cài đặt và cấu hình trên VPS, bạn cần thêm Host này vào Zabbix Server thông qua giao diện web để Zabbix Server bắt đầu thu thập dữ liệu.

1. Đăng nhập vào Zabbix Frontend: Truy cập giao diện web của Zabbix Server (ví dụ: http://your_zabbix_server_ip_or_domain/zabbix) và đăng nhập bằng tài khoản Admin.

2. Đi đến “Data collection” -> “Hosts”: Trên thanh điều hướng bên trái, chọn “Data collection”, sau đó chọn “Hosts”.

3. Cấu hình Host Details: Trong tab “Host”:

Tab Host, Hosts | Nguồn: Zabbix 1 Configuring a host

5. Nhấn “Add” để tạo Host. Nhấn nút màu xanh “Add” ở dưới cùng màn hình để hoàn tất việc thêm Host. Host mới của bạn sẽ hiển thị trong danh sách host.

Kiểm tra trạng thái giám sát và dữ liệu thu thập

Sau khi thêm Host và áp dụng Template, Zabbix Server sẽ mất một vài phút để bắt đầu liên lạc với Agent và thu thập dữ liệu.

Dưới đây là các bước kiểm tra quan trọng:

1. Kiểm tra trạng thái Host trên Zabbix Frontend:

2. Kiểm tra nhanh cổng 10050 từ Zabbix Server: Để xác minh Zabbix Server có thể kết nối đến cổng Agent, hãy sử dụng nmap hoặc nc (netcat) từ Zabbix Server:

# Sử dụng nmap (nếu đã cài đặt)
nmap -p 10050 your_vps_ip_or_domain

# Hoặc sử dụng netcat (nc)
nc -vz your_vps_ip_or_domain 10050

Nếu cổng mở, bạn sẽ thấy thông báo “open” hoặc “succeeded”.

3. Kiểm tra nhanh Agent từ Zabbix Server (Passive checks): Sử dụng công cụ zabbix_get để kiểm tra nhanh xem Agent có đang hoạt động và phản hồi dữ liệu không:

zabbix_get -s your_vps_ip_or_domain -k "system.uptime"

Nếu Agent hoạt động, bạn sẽ nhận được giá trị thời gian uptime của VPS.

4. Xem dữ liệu thu thập trong “Latest data”:

Khắc phục sự cố thường gặp

Nếu bạn gặp vấn đề trong quá trình cài đặt hoặc giám sát, dưới đây là một số bước khắc phục sự cố phổ biến:

Mở rộng khả năng giám sát và bảo mật

Cấu hình User Parameters

Zabbix Agent cho phép bạn thu thập dữ liệu tùy chỉnh thông qua User Parameters. Điều này hữu ích khi bạn muốn giám sát một thông số cụ thể không có sẵn trong các mục mặc định.

# Ví dụ: Giám sát số lượng kết nối Nginx đang hoạt động
UserParameter=nginx.active.connections,curl -s http://localhost/nginx_status 2>/dev/null | grep Active | awk '{print $NF}'

Tăng cường bảo mật với mã hóa TLS cho Zabbix Agent

Để bảo mật hơn nữa giao tiếp giữa Zabbix Agent và Server, bạn nên cấu hình mã hóa TLS (Transport Layer Security). Zabbix hỗ trợ nhiều chế độ TLS, phổ biến nhất là sử dụng Pre-Shared Key (PSK).

TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=PSK001 # Tên định danh cho PSK, phải khớp trên Server
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk # Đường dẫn đến file chứa khóa PSK
sudo openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agentd.psk
sudo chmod 600 /etc/zabbix/zabbix_agentd.psk
sudo chown zabbix:zabbix /etc/zabbix/zabbix_agentd.psk

Để tìm hiểu chi tiết hơn về cấu hình TLS, bạn nên tham khảo tài liệu chính thức của Zabbix về “Encryption with PSK” hoặc “Encryption with certificates“.

Quản lý Log của Zabbix Agent với Logrotate

File log của Zabbix Agent (/var/log/zabbix/zabbix_agentd.log) có thể tăng kích thước theo thời gian. Để tránh đầy ổ đĩa, bạn nên đảm bảo logrotate được cấu hình để quản lý file log này. Thông thường, cấu hình logrotate cho Zabbix Agent đã được tự động thêm vào hệ thống trong quá trình cài đặt gói từ kho chính thức.

/etc/logrotate.d/zabbix-agent
/var/log/zabbix/zabbix_agentd.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 0640 zabbix zabbix
sharedscripts
postrotate
/bin/systemctl reload zabbix-agent > /dev/null 2>&1 || true
endscript
}

Cấu hình này sẽ xoay log hàng ngày, giữ 7 bản nén, và khởi động lại agent để áp dụng file log mới.

Lưu ý về phiên bản Zabbix

Tại thời điểm hiện tại, Zabbix phiên bản 7.2 là bản ổn định (LTS – Long Term Support) được khuyến nghị rộng rãi. Mặc dù Zabbix 7.4 có thể đã ra mắt ở dạng tiền phát hành (pre-release) hoặc bản phát hành ứng viên (release candidate), bạn nên cân nhắc sử dụng phiên bản ổn định cho môi trường sản phẩm.

Kết luận

Việc cấu hình Zabbix Agent trên VPS Linux là một bước quan trọng để tối ưu hóa khả năng giám sát hệ thống của bạn. Với Zabbix, bạn không chỉ có cái nhìn sâu sắc về tình trạng của các VPS Linux, mà còn có thể thiết lập các cảnh báo tự động để phản ứng kịp thời với mọi vấn đề tiềm ẩn. Điều này giúp đảm bảo sự ổn định, hiệu quả và chủ động trong việc quản lý hạ tầng công nghệ thông tin của bạn.

Exit mobile version