1. Chuẩn bị: Mô tả máy chủ
Bảng dưới đây liệt kê các máy chủ sẽ được sử dụng trong hướng dẫn này:
| Máy chủ | Địa chỉ IP |
|---|---|
| Máy chủ Zabbix (đã cài đặt) | 192.168.187.134 |
| Máy chủ Linux (Agent) | 192.168.187.131 |
| Máy chủ Windows | 192.168.187.1 |
Chúng ta sẽ sử dụng một máy chủ Zabbix đã được cài đặt sẵn, một máy chủ Linux để triển khai Agent, và một máy chủ Windows để triển khai Agent.
2. Triển khai Agent Zabbix trên Linux
Trước tiên, chúng ta sẽ cài đặt Agent Zabbix trên máy chủ Linux.
# 1. Tải gói cài đặt Agent Zabbix từ trang chủ
# Sử dụng curl thay cho wget
[root@linux_agent ~]# curl -O https://cdn.zabbix.com/zabbix/sources/stable/6.4/zabbix-6.4.6.tar.gz
# 2. Giải nén gói cài đặt
[root@linux_agent ~]# tar -xzf zabbix-6.4.6.tar.gz
# 3. Tạo nhóm và người dùng Zabbix
[root@linux_agent ~]# groupadd --system zabbix_group
[root@linux_agent ~]# useradd --system -g zabbix_group -d /opt/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix_user
# 4. Cài đặt các công cụ biên dịch và phụ thuộc
[root@linux_agent ~]# yum -y install gcc gcc-c++ make pcre-devel
# 5. Biên dịch Agent Zabbix
[root@linux_agent zabbix-6.4.6]# ./configure --enable-agent --prefix=/opt/zabbix
# ... (quá trình biên dịch)
# 6. Cài đặt
[root@linux_agent zabbix-6.4.6]# make install
# 7. Chỉnh sửa file cấu hình chính của Agent
[root@linux_agent ~]# vim /opt/zabbix/etc/zabbix_agentd.conf
# Thêm các dòng cấu hình sau:
Server=192.168.187.134 # Địa chỉ IP của máy chủ Zabbix
ServerActive=192.168.187.134 # Địa chỉ IP của máy chủ Zabbix
Hostname=linux_agent # Tên định danh cho máy chủ này
# 8. Khởi động dịch vụ Agent và kiểm tra cổng
[root@linux_agent ~]# /opt/zabbix/sbin/zabbix_agentd
[root@linux_agent ~]# ss -antl | grep 10050
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*
# 9. Tắt firewall và SELinux (nếu cần)
[root@linux_agent ~]# systemctl disable --now firewalld
[root@linux_agent ~]# setenforce 0
[root@linux_agent ~]# sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
3. Triển khai Agent Zabbix trên Windows
Tiếp theo, chúng ta cài đặt Agent Zabbix trên máy chủ Windows.
# 1. Tải và giải nén gói cài đặt Agent Zabbix vào thư mục C:\Program Files\Zabbix Agent
# (Thực hiện trên máy chủ Windows)
# 2. Chỉnh sửa file cấu hình
# Mở C:\Program Files\Zabbix Agent\conf\zabbix_agentd.conf và thêm:
Server=192.168.187.134 # Địa chỉ IP của máy chủ Zabbix
ServerActive=192.168.187.134 # Địa chỉ IP của máy chủ Zabbix
Hostname=windows_agent # Tên định danh cho máy chủ này
# 3. Cài đặt Agent dưới dạng dịch vụ hệ thống
C:\Program Files\Zabbix Agent\bin>zabbix_agentd.exe -c "C:\Program Files\Zabbix Agent\conf\zabbix_agentd.conf" -i
zabbix_agentd.exe [2960]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [2960]: event source [Zabbix Agent] installed successfully
# 4. Khởi động dịch vụ Zabbix Agent từ Trình quản lý Dịch vụ của Windows
# 5. Kiểm tra cổng lắng nghe
C:\Program Files\Zabbix Agent\bin>netstat -an | find "10050"
TCP 0.0.0.0:10050 0.0.0.0:0 LISTENING
4. Cấu hình trên giao diện Zabbix Server
Trên giao diện web của Zabbix Server, điều hướng đến Monitoring -> Hosts. Nhấp vào nút Create host ở góc trên bên phải để thêm các máy chủ vừa cài đặt. Sau khi thêm thành công, bạn sẽ thấy các máy chủ xuất hiện với biểu tượng ZBX sáng xanh, cho biết Agent đã kết nối thành công.
5. Thêm mục giám sát tùy chỉnh
Chúng ta sẽ tạo một mục giám sát để theo dõi sự thay đổi nội dung của một tệp trên máy chủ Linux.
# 1. Tạo tệp và tính toán mã băm MD5 ban đầu
[root@linux_agent ~]# echo "Dữ liệu ban đầu" > /tmp/monitor_file.txt
[root@linux_agent ~]# md5sum /tmp/monitor_file.txt
d41d8cd98f00b204e9800998ecf8427e /tmp/monitor_file.txt
# Giải thích mã băm MD5:
# Mã băm MD5 là một giá trị duy nhất cho mỗi tệp. Nếu nội dung tệp thay đổi, giá trị MD5 cũng sẽ thay đổi.
# Điều này cho phép chúng ta giám sát sự thay đổi của tệp.
# 2. Thay đổi nội dung tệp và kiểm tra lại mã băm
[root@linux_agent ~]# echo "Nội dung đã được chỉnh sửa" >> /tmp/monitor_file.txt
[root@linux_agent ~]# md5sum /tmp/monitor_file.txt
a7f52a8e9b6e9a5b9b9f9f9f9f9f9f9f9f /tmp/monitor_file.txt
Trong giao diện Zabbix, vào mục Configuration -> Hosts, chọn máy chủ Linux, sau đó nhấp vào tab Items và nhấp vào Create item. Tạo một mục giám sát mới để lấy giá trị MD5 của tệp `/tmp/monitor_file.txt`.
6. Tạo quy tắc kích hoạt (Trigger)
Mặc dù chúng ta đã tạo mục giám sát, nhưng vẫn cần một quy tắc kích hoạt (Trigger) để tạo ra cảnh báo khi giá trị MD5 thay đổi.
Trong giao diện Zabbix, vào tab Triggers của máy chủ Linux và nhấp vào Create trigger. Thiết lập một quy tắc để kích hoạt khi giá trị MD5 của mục giám sát vừa tạo không khớp với giá trị ban đầu.
# 3. Thay đổi tệp một lần nữa để kích hoạt cảnh báo
[root@linux_agent ~]# echo "Thêm dữ liệu khác" >> /tmp/monitor_file.txt
Sau khoảng một phút, bạn sẽ thấy cảnh báo xuất hiện trên仪表板 (dashboard) của Zabbix.