❤️ AZDIGI chính thức cập nhật hệ thống blog mới hoàn chỉnh. Tuy nhiên có thể một số bài viết bị sai lệch hình ảnh, hãy ấn nút Báo cáo bài viết ở cuối bài để AZDIGI cập nhật trong thời gian nhanh nhất. Chân thành cám ơn.
VPS bạn chạy ngon lành hay lag như sên? Hầu hết lúc bị chậm, ta mới vội vàng kiểm tra xem đang xảy ra gì. Nhưng khi đó đã trễ rồi. Giám sát hiệu suất VPS là việc theo dõi liên tục tài nguyên hệ thống để phát hiện sớm vấn đề trước khi nó ảnh hưởng người dùng.
💡 Mẹo: Phòng bệnh hơn chữa bệnh. Khi CPU vượt ngưỡng an toàn, RAM cạn kiệt hoặc disk ghi/đọc quá chậm, hệ thống sẽ cảnh báo ngay. Bạn có thể xử lý khi ứng dụng vẫn đang chạy bình thường thay vì chờ website down mới biết.
Dưới đây là hướng dẫn chi tiết các công cụ miễn phí và cách thiết lập hệ thống giám sát cho VPS. Từ những command đơn giản đến dashboard chuyên nghiệp.
Các công cụ command-line có sẵn

htop – Quản lý tiến trình trực quan
htop cải tiến từ top cũ với giao diện thân thiện hơn. Cài đặt trên Ubuntu/Debian:
sudo apt update && sudo apt install htop
Chạy bằng lệnh htop. Màn hình sẽ hiện thông tin CPU, RAM và danh sách tiến trình đang chạy theo thời gian thực.
Cách đọc thông tin:
- Thanh CPU (trên cùng): Mỗi core một thanh, màu xanh là tiến trình thường, đỏ là hệ thống
- Thanh RAM/Swap: Xanh là đang dùng, vàng là buffer/cache
- Cột %CPU: Phần trăm CPU tiến trình đó chiếm
- Cột RES: RAM thật sự tiến trình dùng (tính bằng MB)
vmstat – Tổng quan hệ thống
vmstat cho bức tranh tổng quan về CPU, RAM, và I/O trong thời gian nhất định:
# Kiểm tra mỗi giây, tổng cộng 5 lần
vmstat 1 5
ℹ️ Các chỉ số quan trọng trong vmstat: cột ‘r’ (processes chờ CPU), ‘si/so’ (swap in/out – nên = 0), ‘wa’ (CPU chờ I/O % – nếu cao là disk chậm)
Netdata – Dashboard web toàn diện

Netdata là giải pháp giám sát real-time tốt nhất cho VPS nhỏ. Cài đặt đơn giản, tự động phát hiện services, và có web interface đẹp.
Cài đặt Netdata
Chỉ cần một lệnh:
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
Script sẽ tự động detect OS và cài package cần thiết, compile và cài Netdata, tạo user netdata riêng biệt và khởi động service.
Sau khi cài xong, truy cập http://IP-VPS:19999 để xem dashboard.
Cấu hình alerts
Tạo file config để gửi alert khi có vấn đề:
sudo nano /etc/netdata/health_alarm_notify.conf
Email alerts:
# Email settings
DEFAULT_RECIPIENT_EMAIL="admin@yourdomain.com"
SMTP_SERVER="smtp.gmail.com:587"
SMTP_USERNAME="your-gmail@gmail.com"
SMTP_PASSWORD="your-app-password"
SMTP_ENCRYPTION="starttls"
⚠️ Lưu ý: Với Gmail, bạn cần tạo App Password thay vì dùng password thường để bảo mật 2FA
Giám sát uptime từ bên ngoài

VPS có thể chạy bình thường nhưng network bị đứt hoặc service crash. Cần monitor từ bên ngoài để phát hiện downtime.
UptimeRobot – Service miễn phí
UptimeRobot cung cấp các tính năng kiểm tra cơ bản cho mọi website, đủ cho các nhu cầu kiểm tra trạng thái website có bị downtime không.
- 50 monitors miễn phí
- Check mỗi 5 phút
- Alert qua email, SMS, webhooks
- Status page public
Cần lưu ý rằng UptimeRobot sẽ kiểm tra website của bạn thông qua các máy chủ của họ tại nước ngoài, nên nếu bạn dùng VPS ở Việt Nam thì kết quả kiểm tra sẽ không chính xác khi có sự cố đứt cáp quang biển hoặc đường truyền quốc tế bị chập chờn.
Script monitoring đơn giản

Đôi khi bạn không muốn cài tool phức tạp, chỉ cần script bash đơn giản gửi email khi có vấn đề.
Script kiểm tra tài nguyên
Tạo file /root/monitor.sh:
#!/bin/bash
# Threshold values
CPU_THRESHOLD=80
RAM_THRESHOLD=85
DISK_THRESHOLD=90
# Email settings
EMAIL="admin@yourdomain.com"
HOSTNAME=$(hostname)
# Check CPU usage
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)
CPU_INT=${CPU_USAGE%.*} # Remove decimal
if [ "$CPU_INT" -gt "$CPU_THRESHOLD" ]; then
echo "CẢNH BÁO: CPU cao $CPU_USAGE% trên $HOSTNAME" | mail -s "CPU Alert" $EMAIL
fi
So sánh nhanh các công cụ

| Tool | Độ phức tạp | Tính năng | Resource sử dụng | Phù hợp |
|---|---|---|---|---|
| htop/vmstat | Thấp | Command-line cơ bản | Rất ít | Admin check thủ công |
| Netdata | Trung bình | Web UI, auto-detect, alerts | ~50MB RAM | VPS nhỏ đến trung bình |
| Grafana + Prometheus | Cao | Flexible, custom dashboards | ~200MB RAM | Team lớn, nhiều server |
| Custom script | Thấp | Tùy biến hoàn toàn | Gần như 0 | Nhu cầu đơn giản |
Khuyến nghị:
- VPS cá nhân/dự án nhỏ: Netdata + UptimeRobot
- Không muốn cài tool: Custom bash script + Telegram
- Nhiều server: Cân nhắc Grafana + Prometheus
- Budget eo hẹp: htop + vmstat + script alerts
Netdata có làm chậm VPS không?
Netdata sử dụng khoảng 1-2% CPU và 50MB RAM. Trên VPS 1GB trở lên ảnh hưởng không đáng kể. Có thể giảm retention xuống 1 ngày thay vì 1 tuần để tiết kiệm RAM.
Cần giám sát metrics nào là quan trọng nhất?
Ưu tiên theo thứ tự: CPU usage, RAM usage, disk I/O wait, disk space, network connections. 4 chỉ số này phát hiện được 80% vấn đề performance.
Bao lâu nên check metrics một lần?
Real-time monitoring (mỗi giây) chỉ cần khi debug. Thường ngày check mỗi 1-5 phút là đủ. Uptime monitoring nên 5 phút hoặc ít hơn.
Alert threshold nên đặt bao nhiêu?
Bắt đầu bằng: CPU >80%, RAM >85%, Disk >90%, Load average >số CPU cores. Sau đó điều chỉnh dựa trên pattern thật của VPS.
Kết luận: Giám sát VPS không phức tạp như tưởng. Bắt đầu bằng những công cụ đơn giản như htop và vmstat để hiểu hệ thống. Khi cần nhiều tính năng hơn, Netdata là lựa chọn tốt nhất với dashboard web và auto-detection. Đừng quên uptime monitoring từ bên ngoài để phát hiện network issues.
Quan trọng là bắt đầu từ hôm nay thay vì chờ đến khi có vấn đề. 15 phút setup giờ sẽ tiết kiệm hàng giờ debug sau này.
Có thể bạn cần xem thêm
- Load Average cao trên Linux Server: Chẩn đoán và xử lý
- VPS tự khởi động lại hoặc bị treo: Nguyên nhân và cách xử lý
- Tạo script Monitor tài nguyên VPS và thông báo qua Telegram
- VPS đầy ổ cứng: Cách tìm và dọn dẹp dung lượng
- VPS bị chậm do mạng: Cách kiểm tra và khắc phục
- Monitoring Docker với Portainer, Uptime Kuma và cAdvisor
Về tác giả
Trần Thắng
Chuyên gia tại AZDIGI với nhiều năm kinh nghiệm trong lĩnh vực web hosting và quản trị hệ thống.