❤️ 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

Đo tốc độ WordPress

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

Tối ưu server cho WordPress

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

Redis cache WordPress

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

Audit plugin WordPress

Đô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ụ

Tối ưu media WordPress
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.

Chia sẻ:
Bài viết đã được kiểm duyệt bởi AZDIGI Team

Về tác giả

Trần Thắng

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.

Hơn 10 năm phục vụ 80.000+ khách hàng

Bắt đầu dự án web của bạn với AZDIGI