Zabbix & SNMP: Tuyệt chiêu giám sát Switch/Router (Không còn lo ‘mù’ hệ thống)

Monitoring tutorial - IT technology blog
Monitoring tutorial - IT technology blog

Nỗi ám ảnh khi hệ thống mạng trở thành “hộp đen”

Đồng hồ chỉ 2 giờ sáng, điện thoại mình rung bần bật. Hệ thống giám sát (lúc đó mình dùng Prometheus cho 15 node server Linux) báo đỏ toàn tập. Service timeout liên tục nhưng kiểm tra server vẫn sống nhăn. Sau 30 phút vật lộn, mình mới phát hiện con Core Switch Cisco 3850 bị nghẽn cổng Uplink do một vòng lặp (loop) từ phòng kỹ thuật.

Lúc đó mình mới thấm thía cái cảnh “mù” thông tin mạng. Prometheus rất mạnh về server, nhưng với thiết bị Cisco, Mikrotik hay Juniper, Zabbix mới thực sự là lựa chọn số một. Nhờ khả năng xử lý giao thức SNMP cực kỳ tối ưu, Zabbix giúp bạn nhìn thấu mọi ngóc ngách của thiết bị. Nếu không muốn mò mẫm trong bóng tối như mình đêm đó, bạn cần đưa thiết bị mạng vào Zabbix ngay lập tức.

Tại sao không thể cài Agent như trên Server?

Với server, bạn có thể cài Zabbix Agent cực nhanh. Tuy nhiên, Switch hay Router là các hệ thống đóng (Closed Systems). Bạn không thể can thiệp sâu vào nhân OS để cài file .deb hay .rpm lên một con Cisco được.

Lúc này, SNMP (Simple Network Management Protocol) trở thành cứu cánh. Đây là ngôn ngữ chung để thiết bị mạng “thổ lộ” sức khỏe của nó. Mọi thông số từ CPU, RAM đến Traffic từng port đều được truyền tải qua đây. Không bật SNMP, con Switch nghìn đô của bạn cũng chỉ là một cục sắt im lìm.

3 cách lấy dữ liệu phổ biến: Chọn cách nào?

Dưới đây là 3 hướng tiếp cận mình đã từng thử nghiệm qua nhiều dự án:

  • Cách 1: Add thủ công OID (Object Identifier): Bạn phải tra bảng mã cho từng thông số. Cách này cực kỳ tốn thời gian và dễ nhầm lẫn. Chỉ nên dùng khi thiết bị quá cũ hoặc lạ.
  • Cách 2: Sử dụng SNMP Traps: Thiết bị sẽ chủ động “gọi điện” cho Zabbix khi có biến. Dù phản ứng nhanh, nhưng cấu hình phía server rất phức tạp và dễ bị sót gói tin.
  • Cách 3: Sử dụng Template và LLD (Low-Level Discovery): Đây là chân ái. Zabbix tự động quét thiết bị. Nếu thấy Switch có 48 port, nó tự tạo đúng 48 item giám sát. Mình sẽ hướng dẫn bạn theo cách này.

Triển khai thực tế: Zabbix + SNMP Template

Bước 1: Đánh thức SNMP trên thiết bị

Bạn cần cấp quyền cho Zabbix Server truy cập dữ liệu. Hãy thiết lập Community String đủ phức tạp. Tuyệt đối đừng dùng “public” vì hacker có thể quét ra sơ đồ mạng của bạn trong 5 giây.

Cấu hình mẫu trên Cisco Catalyst:

conf t
snmp-server community My@Secret#Pass2024 RO
snmp-server contact Admin_IT_Team
snmp-server location Rack05_Floor02
exit
write memory

Đối với dòng Mikrotik, hãy dùng lệnh sau:

/snmp set enabled=yes contact="IT_Dept" location="ServerRoom"
/snmp community set [find name=public] name=My@Secret#Pass2024 addresses=192.168.1.50/32

Lưu ý: 192.168.1.50 là IP của Zabbix Server. Chỉ IP này mới có quyền query dữ liệu để đảm bảo an toàn.

Bước 2: Khai báo Host trên Zabbix

Khi thiết bị đã sẵn sàng, hãy thao tác trên giao diện Web UI:

  1. Truy cập Configuration > Hosts > Create host.
  2. Host name: Đặt tên theo quy tắc (VD: HN-Core-SW01).
  3. Templates: Chọn “Network Generic Device by SNMP” hoặc template riêng của hãng như “Cisco IOS by SNMP”.
  4. Interfaces: Nhấn Add > SNMP. Điền IP thiết bị và chọn SNMPv2.
  5. Macros: Tại tab Macros, tìm {$SNMP_COMMUNITY}. Nhấn Change và điền mật khẩu My@Secret#Pass2024 vào.

Bước 3: Sức mạnh của Low-Level Discovery (LLD)

Zabbix sẽ tự động chạy tiến trình discovery. Nó gửi lệnh SNMP Walk để hỏi: “Ông có bao nhiêu cổng mạng?”. Chỉ sau vài phút, toàn bộ 24 hay 48 port sẽ hiện ra với đầy đủ biểu đồ lưu lượng.

Để kiểm tra kết nối từ Zabbix Server, hãy dùng lệnh:

snmpwalk -v 2c -c My@Secret#Pass2024 192.168.1.100 1.3.6.1.2.1.1.1

Nếu màn hình trả về tên dòng máy và firmware, bạn đã thành công 99%.

Bước 4: Thiết lập ngưỡng cảnh báo “sống còn”

Giám sát mà không có Alert thì coi như chưa làm. Mình luôn ưu tiên 3 ngưỡng sau:

  • ICMP Ping: Thiết bị mất kết nối hoàn toàn.
  • Link Down: Cảnh báo ngay khi cổng Uplink bị rút cáp.
  • High Bandwidth: Lưu lượng vượt 800Mbps trên cổng 1Gbps trong 5 phút liên tục.

Để nhận tin nhắn qua Telegram, hãy vào Alerts > Media Types. Cấu hình Bot Token và tạo Action để đẩy thông báo về nhóm kỹ thuật mỗi khi có sự cố.

Kinh nghiệm xương máu để tránh “ăn hành”

Lỗi phổ biến nhất là icon SNMP báo đỏ dù cấu hình đúng. Nguyên nhân thường do Firewall chặn port UDP 161. Bạn hãy kiểm tra kỹ cả chiều đi và chiều về của gói tin.

Một lưu ý khác cho các dòng Switch cũ: Đừng set Update interval quá ngắn. Nếu bạn bắt nó cập nhật 1 giây/lần cho 48 port, CPU của Switch sẽ nhảy lên 100% và treo luôn tiến trình SNMP. Với traffic, 1 phút là con số hợp lý. Các thông số như nhiệt độ hay RAM thì 5 phút một lần là đủ.

Làm chủ Zabbix không khó. Cái khó là tinh chỉnh để hệ thống không gửi cảnh báo rác lúc nửa đêm. Chúc các bạn có những đêm ngủ ngon giấc!

Share: