Trong bài viết này, chúng tôi sẽ chỉ cách cấu hình giám sát thiết bị mạng dựa trên ICMP sử dụng ping trong Zabbix. Đây là nhiệm vụ giám sát không cần agent dễ nhất và phổ biến nhất, khi bạn muốn kiểm tra tính khả dụng của máy chủ từ xa, trang web hoặc thiết bị mạng từ máy chủ giám sát của mình. Zabbix có thể gửi yêu cầu ICMP đến máy chủ, và nếu không nhận được phản hồi, thời gian phản hồi quá lâu hoặc tỷ lệ gói tin mất lớn, nó hiển thị cảnh báo trên bảng điều khiển. Giao thức ICMP chủ yếu dùng để kiểm tra tính khả dụng của máy chủ mạng. Công cụ Ping và traceroute/tracert cũng hoạt động qua giao thức ICMP.
Trước hết, bạn phải cấu hình tường lửa trên máy chủ bạn sẽ giám sát (cho phép yêu cầu icmp ping) và đảm bảo fping được cài đặt và cấu hình trên máy chủ Zabbix của bạn.
Cách mở cổng cho ICMP Ping trên Windows Server và Linux?
Mặc định, ICMP ping được cho phép trên Windows Server, nhưng nếu bị vô hiệu hóa vì lý do nào, bạn có thể bật nó bằng netsh hoặc PowerShell. Chạy dấu nhắc lệnh với quyền admin và nhập:
netsh advfirewall firewall add rule name="ICMP Allow“ protocol=icmpv4:8,any dir=in action=allow
Đây là lệnh PowerShell tương tự (dùng module NetSecurity tích hợp):
Set-NetFirewallRule -Name FPS-ICMP-ERQ-In -Enabled True -Profile Any -Action Allow
Các lệnh sẽ tạo quy tắc tường lửa cho phép yêu cầu ICMP echo đến.
Lưu lượng ICMP đến cũng được cho phép trong các bản phân phối Linux hiện đại. Nếu bị vô hiệu hóa vì lý do nào, thêm quy tắc này vào iptables. Chạy các lệnh sau dưới root/sudo:
# iptables -I INPUT -p icmp --icmp-type echo-request -j ACCEPT
# iptables -I OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
Như vậy, bạn sẽ thêm quy tắc cho phép yêu cầu ICMP vào đầu chuỗi quy tắc iptables.
Nếu bạn dùng firewalld quản lý quy tắc tường lửa, bạn có thể cho phép phản hồi ICMP ping như sau:
# firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p icmp -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT
Cách cài đặt Fping & Thiết lập đường dẫn trong Zabbix?
Fping được dùng trong Zabbix để thực hiện kiểm tra ICMP. Trong hầu hết bản phân phối Linux, tiện ích này được cài sẵn, vì vậy hãy đảm bảo nó tồn tại trong hệ điều hành trước. Đi đến máy chủ Zabbix của bạn và chạy lệnh:
fping -v
Nếu không có công cụ này, cài đặt nó bằng trình quản lý gói:
- Trong Ubuntu:
apt install fping - Trong CentOS, bạn phải kết nối kho EPEL trước rồi mới cài:
yum install fping
Mặc định, công cụ được cài ở /usr/bin/fping. Nếu có vấn đề với fping, đảm bảo nó nằm ở /usr/bin/fping. Nếu ở thư mục khác, hãy thay đổi các dòng sau trong zabbix_server.conf chỉ định đường dẫn đúng đến fping.
FpingLocation=/usr/bin/fping Fping6Location=/usr/bin/fping6
Template ICMP Ping trong Zabbix
Mặc định, có Template Module ICMP Ping trong Zabbix. (Có thể tên khác tùy phiên bản Zabbix.) Chúng ta sẽ dùng nó để giám sát máy chủ mạng bằng ICMP ping. Template bao gồm 3 kiểm tra:
- ICMP ping – khả dụng nút qua ICMP;
- ICMP loss – tỷ lệ gói tin mất;
- ICMP response time – thời gian phản hồi ICMP ping tính bằng mili giây.
Xem cột Key: icmpping, icmppngloss và icmppingse, đây là các khóa tích hợp trong Zabbix. Chúng là Simple checks, nghĩa là Zabbix Agent không được dùng để thực hiện chúng.
Xem danh sách đầy đủ Simple checks không yêu cầu cài đặt Zabbix Agent: https://www.zabbix.com/documentation/current/manual/config/items/itemtypes/simple_checks
Template chứa 3 trigger theo dõi các khóa trên và giá trị của chúng.
Một số trigger, như High ICMP ping response time, dùng macro template. Bạn có thể thay đổi giá trị macro trong tab Macros.
Giá trị kích hoạt trigger:
- Tỷ lệ mất gói ICMP Ping Loss ($ICMP_LOSS_WARN) trong 5 phút cuối lớn hơn 20.
- Giá trị Response Time ($ICMP_RESPONSE_TIME_WARN) vượt quá 150 mili giây trong 5 phút cuối.
Tạo Host trong Zabbix và kết nối Template ICMP Ping
Trong bài này, tôi sẽ cấu hình giám sát máy chủ chạy Windows Server. Hãy thêm host này vào Zabbix. Đi đến Configuration -> Hosts -> Create Host.
Nhập tên host, chọn nhóm và nhập địa chỉ IP host của bạn trong Agent interfaces.
Lưu ý. Nhóm Zabbix giúp phân loại host. Tên nhóm không ảnh hưởng đến giám sát.
Mở tab Templates, nhấn Select và chọn Template Module ICMP Ping.
Nhấn Add trong form chọn template và Add để hoàn tất tạo host.
Tất cả template kết nối với host hiển thị trong cột Templates.
Sau đó kiểm tra hoạt động giám sát. Đi đến Monitoring -> Latest data, nhấn Select bên cạnh Hosts và chọn host vừa tạo.
Dữ liệu mới nhất nhận được từ host hiển thị trong cột Last Value.
Cũng có thể xem biểu đồ cho giá trị cụ thể, như ICMP Response time. Nhấn Graph.
Trong trường hợp sự cố, bạn sẽ thấy thông báo trên bảng điều khiển Zabbix.
ICMP ping là kiểm tra cơ bản dễ nhất về khả dụng thiết bị mạng. Nếu bạn muốn lấy thêm dữ liệu về thiết bị, bạn có thể cấu hình giám sát thiết bị dùng Zabbix Agent, SNMP hoặc các giao thức khác.