Danh mục sản phẩm
Test lab: sử dụng Cacti để theo dõi các thiết bị trong hệ thống mạng
Bài test lab này dùng Cacti để giám sát Router MikroTik, Switch Cisco Catalyst 3560X và chính máy chủ cài Cacti, thông qua giao thức SNMP.
⚡ Tóm tắt nhanh
- Cacti là hệ thống giám sát máy chủ và thiết bị mạng, hiển thị kết quả bằng biểu đồ trên giao diện web.
- Cách lấy dữ liệu: Cacti hỏi thiết bị qua SNMP, lưu bằng RRDtool và vẽ thành Graph.
- Quy trình bài test: cài Cacti → bật SNMP trên thiết bị → đăng nhập Cacti → thêm thiết bị → tạo Graph → xem biểu đồ → cài plugin Thresholds để cảnh báo.
- Điểm dùng nhiều nhất: theo dõi băng thông (traffic) các cổng của switch và router.
1. Mô hình Test:

| Thành phần | Thông tin |
|---|---|
| Cacti Server | CentOS 7, IP 192.168.0.32 |
| Thiết bị giám sát 1 | Router MikroTik |
| Thiết bị giám sát 2 | Switch Cisco Catalyst 3560X |
| Giao thức | SNMP (v2c) |
| Giám sát thêm | Chính máy chủ Cacti (Local Machine) |
2. Giới thiệu về Cacti
Cacti là một hệ thống monitor được thiết kế để giám sát máy chủ và thiết bị mạng trong hệ thống.
Cacti hoạt động dựa trên nền tảng RRDtool, một công cụ cho phép lưu trữ và theo dõi dữ liệu hệ thống nhưng không có giao diện đồ họa. Cacti lấy kết quả từ RRDtool và chuyển thành giao diện trực quan, dễ hiểu đối với người dùng.
Cacti được viết chủ yếu bằng PHP, cơ sở dữ liệu chính là MySQL/MariaDB và hoạt động trên giao diện Web. Vì vậy, để dùng Cacti cần cài đặt nó trên một Web server hỗ trợ PHP và MySQL.
| Thành phần | Vai trò |
|---|---|
| Web server + PHP (Apache/Nginx) | Chạy giao diện Cacti |
| MySQL / MariaDB | Lưu cấu hình thiết bị, người dùng, template |
| RRDtool | Lưu dữ liệu số liệu theo thời gian và vẽ biểu đồ |
| Net-SNMP | Công cụ SNMP để Cacti truy vấn thiết bị |
| Poller (cron) | Tiến trình chạy định kỳ (thường 5 phút/lần) để thu thập dữ liệu |
💡 SNMP là gì và hoạt động ra sao: xem SNMP là gì, SNMP hoạt động như thế nào? hoặc Bài 69 CCNA: SNMP.
3. Sử dụng Cacti để theo dõi giám sát thiết bị mạng
3.1. Cài đặt Cacti
Có thể tham khảo hai link cài đặt Cacti trên CentOS 7 dưới đây:
- Link 1 – Hướng dẫn cài đặt Cacti trong CentOS 7 (mdungblog)
- Link 2 – How to install and configure Cacti on CentOS 7 (fosslinux)
Trong bài test này, Cacti đã được cài xong trên CentOS 7 và dùng để monitor Router MikroTik và Switch Cisco 3560X.
⚠️ Lưu ý khi triển khai mới: CentOS 7 đã hết hỗ trợ (từ 30/06/2024), không còn nhận bản vá bảo mật. Với hệ thống mới nên dùng AlmaLinux/Rocky Linux 9 hoặc Ubuntu LTS và cài bản Cacti ổn định mới nhất theo tài liệu chính thức tại cacti.net. Các bước chung gần như giống nhau:
- Cài Apache (hoặc Nginx), PHP cùng các module cần thiết (snmp, mysql, gd, xml, mbstring...), MariaDB,
rrdtool,net-snmp.- Tạo database
cactivà user riêng, nạp dữ liệu múi giờ cho MariaDB (wizard cài đặt sẽ báo nếu thiếu).- Giải nén mã nguồn Cacti vào thư mục web, khai báo kết nối database trong file cấu hình.
- Tạo cron chạy
poller.phpmỗi 5 phút bằng user của web server.- Mở
http://<ip-server>/cacti/, làm theo wizard cài đặt và đổi mật khẩu mặc định của tài khoảnadminngay lần đăng nhập đầu tiên.
3.2. Add devices cho Cacti thông qua giao thức SNMP
Trước khi thêm thiết bị vào Cacti, cần bật SNMP trên thiết bị và cho phép địa chỉ máy Cacti (192.168.0.32) truy vấn.
Trên MikroTik
Cấu hình bật SNMP trên MikroTik theo hình sau:


Có thể làm tương đương bằng dòng lệnh (RouterOS):
/snmp set enabled=yes /snmp community set [ find default=yes ] name=VNEXPERTS.VN addresses=192.168.0.32/32
Lệnh trên mang tính tham khảo; hãy đối chiếu với hình và phiên bản RouterOS đang dùng.
Trên Switch Cisco 3560X
ip access-list standard ACL-SNMP permit 192.168.0.32 ! snmp-server community VNEXPERTS.VN RO ACL-SNMP snmp-server enable traps snmp snmp-server host 192.168.0.32 version 2c VNEXPERTS.VN
Với 192.168.0.32 là IP của Server CentOS 7 cài đặt Cacti.
Giải thích cấu hình:
| Dòng lệnh | Ý nghĩa |
|---|---|
ip access-list standard ACL-SNMP + permit 192.168.0.32 |
Tạo ACL chỉ cho phép máy Cacti truy vấn SNMP |
snmp-server community VNEXPERTS.VN RO ACL-SNMP |
Tạo community VNEXPERTS.VN quyền chỉ đọc (RO), áp ACL ở trên |
snmp-server enable traps snmp |
Bật gửi Trap SNMP |
snmp-server host 192.168.0.32 version 2c VNEXPERTS.VN |
Khai báo nơi nhận Trap (192.168.0.32) |
ℹ️ Cacti lấy dữ liệu bằng polling (chủ động hỏi) nên chỉ cần dòng
snmp-server communitylà đủ để giám sát. Hai dòng liên quan đến Trap chỉ cần khi có hệ thống nhận Trap; Cacti mặc định không nhận Trap.🔒
VNEXPERTS.VNchỉ là community dùng cho bài test. Khi triển khai thật hãy đặt chuỗi dài, khó đoán, giữ quyền RO và dùng ACL giới hạn IP. Thiết bị hỗ trợ thì nên chuyển sang SNMPv3.
Kiểm tra SNMP trước khi thêm vào Cacti: từ máy chủ Cacti chạy lệnh (cần gói net-snmp-utils):
snmpwalk -v2c -c VNEXPERTS.VN <ip-thiet-bi> 1.3.6.1.2.1.1
Nếu trả về các dòng sysDescr, sysName... thì SNMP đã thông.
3.3. Login vào Cacti
Truy cập: http://192.168.0.32/cacti/


3.4. Add thiết bị cần monitor vào Cacti
Vào Console → Management → Devices → Add, điền thông tin thiết bị:
| Trường | Giá trị trong bài test |
|---|---|
| Description | Tên dễ nhận biết (ví dụ SW-3560X, Mikrotik) |
| Hostname | IP của thiết bị |
| Device Template | Template phù hợp loại thiết bị (ví dụ Generic SNMP Device hoặc Cisco Router) |
| SNMP Version | Version 2 |
| SNMP Community | VNEXPERTS.VN |
Thêm Switch Cisco 3560X:

Thêm Router MikroTik:

Sau khi tạo, nếu trạng thái thiết bị là Up thì SNMP đã hoạt động:

3.5. Tạo các Graphs để tiện cho việc giám sát
Từ trang của thiết bị chọn Create Graphs for this Device, đánh dấu các mục cần theo dõi (cổng mạng, CPU, RAM...) rồi tạo. Sau đó có thể đưa Graph vào Graph Tree để nhóm theo thiết bị hoặc vị trí cho dễ xem.


3.6. Chọn Graphs để theo dõi monitor qua các biểu đồ
Cisco Switch 3560X:

Mikrotik Router:


Local Machine

3.7. Plugin Thresholds – cảnh báo thiết bị
Ở bài test này, mình cài thêm plugin Thresholds (Thold) để tiện cho việc giám sát các cảnh báo của thiết bị, ví dụ khi CPU quá cao.

Cacti vốn chỉ vẽ biểu đồ, không tự cảnh báo; Thold bổ sung khả năng đặt ngưỡng cho từng chỉ số và gửi thông báo (ví dụ email) khi vượt ngưỡng hoặc khi trở lại bình thường. Cách dùng chung: cài plugin theo hướng dẫn của dự án Cacti, bật tại Console → Configuration → Plugins, sau đó tạo Threshold cho các Graph quan trọng như CPU và băng thông.
4. Lỗi thường gặp
| Hiện tượng | Nguyên nhân thường gặp | Cách xử lý |
|---|---|---|
| Thiết bị báo Down | Sai community, ACL chưa cho IP Cacti, chưa bật SNMP | Test bằng snmpwalk, kiểm tra ACL và community |
| Graph không có dữ liệu | Chưa đủ chu kỳ polling hoặc cron poller chưa chạy | Chờ 10–15 phút; kiểm tra cron và log của Cacti |
Không vào được /cacti/ |
Firewall chặn cổng 80, Apache chưa chạy | Mở cổng 80 và kiểm tra dịch vụ web |
| Không tạo được Graph cho cổng | Dùng sai Device Template | Chọn template phù hợp hoặc Generic SNMP Device |
5. Câu hỏi thường gặp
Cacti có miễn phí không? Có, Cacti là phần mềm mã nguồn mở, miễn phí.
Cacti dùng để làm gì? Thu thập dữ liệu qua SNMP và vẽ biểu đồ theo dõi băng thông, CPU, RAM, trạng thái của thiết bị mạng và server.
Cacti có cảnh báo không? Cần cài thêm plugin Thresholds (Thold) để đặt ngưỡng và nhận thông báo.
Cacti khác Zabbix và Prometheus thế nào? Cacti mạnh ở biểu đồ băng thông và dễ làm quen; Zabbix có sẵn cảnh báo, auto-discovery và nhiều template; Prometheus + Grafana linh hoạt nhưng cần tự ghép nhiều thành phần. Xem hướng dẫn Zabbix và Prometheus/Grafana qua Docker.
Có nên dùng CentOS 7 cho Cacti không? Chỉ nên dùng cho lab. CentOS 7 đã hết hỗ trợ nên hệ thống thật cần chọn hệ điều hành còn được cập nhật.
