Cài Uptime Kuma Trên VPS - Theo Dõi Uptime Website & Gửi Cảnh Báo Telegram Miễn Phí 2026

📅 05/2026 · ⏱ 10 phút đọc · 🏷 Hướng Dẫn

Bạn có 5 website đang chạy trên VPS. Làm sao biết ngay khi 1 site bị down lúc 3h sáng? Làm sao biết SSL sắp hết hạn? Làm sao biết server hết RAM? Uptime Kuma — tool open-source miễn phí, nhẹ như lông hồng, chạy trên VPS TrumVPS 40K/tháng của bạn, sẽ canh gác 24/7 và bắn cảnh báo qua Telegram ngay khi có vấn đề.

Uptime Kuma Là Gì?

Uptime Kuma là tool giám sát server/website mã nguồn mở, tự host. Nó giống như UptimeRobot nhưng chạy ngay trên VPS của bạn, không giới hạn số lượng monitor, và có giao diện web cực đẹp.

Những gì Uptime Kuma có thể làm:

🔥 Khác biệt với UptimeRobot: UptimeRobot free giới hạn 50 monitor + check mỗi 5 phút. Uptime Kuma không giới hạn monitor + check mỗi 20 giây nếu bạn muốn. Chạy trên chính VPS TrumVPS 40K của bạn!

Yêu Cầu

Bước 1: Cài Uptime Kuma Bằng Docker

Đây là cách nhanh nhất — 1 dòng lệnh:

docker run -d \
  --name uptime-kuma \
  -p 3001:3001 \
  -v uptime-kuma-data:/app/data \
  --restart=always \
  louislam/uptime-kuma:1

Giải thích:

Sau khi chạy, truy cập http://IP-VPS:3001. Lần đầu sẽ yêu cầu tạo tài khoản admin:

Tên đăng nhập: admin
Mật khẩu: (tự đặt mật khẩu mạnh)

Bước 2: Cấu Hình Nginx Reverse Proxy + SSL

Để truy cập qua domain đẹp status.yourdomain.com thay vì nhớ port 3001:

sudo nano /etc/nginx/sites-available/status.yourdomain.com

Dán nội dung:

server {
    listen 80;
    server_name status.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:3001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Kích hoạt + SSL:

sudo ln -s /etc/nginx/sites-available/status.yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
sudo certbot --nginx -d status.yourdomain.com

Giờ bạn có thể vào https://status.yourdomain.com để truy cập Uptime Kuma.

Bước 3: Tạo Monitor Đầu Tiên

Sau khi đăng nhập, bấm Add New Monitor:

Monitor HTTP(s) — Kiểm tra website còn sống

Monitor Type: HTTP(s)
Friendly Name: Blog TrumVPS
URL: https://mcdhot.com
Heartbeat Interval: 60 (mỗi 60 giây check 1 lần)
Retries: 3 (chỉ báo down sau 3 lần thất bại liên tiếp)
Resend Notification: 180 (gửi lại cảnh báo sau mỗi 180 phút nếu vẫn down)

Monitor TCP Port — Kiểm tra MySQL, Redis

Monitor Type: TCP Port
Friendly Name: MySQL 3306
Hostname: 127.0.0.1
Port: 3306
Heartbeat Interval: 120

Monitor Docker Container

Monitor Type: Docker Container
Container Name / ID: uptime-kuma
Heartbeat Interval: 120
💡 Pro tip: Tạo 1 monitor HTTP check chính website của bạn + 1 monitor TCP check MySQL + 1 monitor check ping VPS. Chỉ 3 monitor mà bạn biết được 90% vấn đề trước khi khách hàng phàn nàn!

Bước 4: Cấu Hình Cảnh Báo Telegram

Đây là phần quan trọng nhất — bạn muốn nhận tin nhắn Telegram ngay khi website down!

Tạo Telegram Bot:

  1. Mở Telegram, tìm @BotFather
  2. Gửi lệnh /newbot
  3. Đặt tên bot (vd: Uptime Kuma Alert)
  4. Đặt username (vd: @myuptimealert_bot)
  5. BotFather sẽ gửi Bot Token — copy lại!

Lấy Chat ID:

  1. Tìm bot vừa tạo trên Telegram, bấm Start
  2. Tìm @userinfobot hoặc @getidsbot
  3. Forward 1 tin nhắn từ bot của bạn sang → bot sẽ trả về Chat ID
  4. Ghi lại Chat ID (dạng số, vd: 5357766590)

Thêm Notification Vào Uptime Kuma:

  1. Trong Uptime Kuma, vào Settings → Notifications
  2. Chọn Setup Notification → chọn Telegram
  3. Điền Bot Token + Chat ID vừa lấy
  4. Bấm Test → nếu nhận được tin nhắn Telegram là OK
  5. Lưu lại

Giờ vào từng monitor, phần Notifications, chọn Telegram vừa tạo. Mỗi khi website down, Telegram sẽ báo:

[🔴 DOWN] Blog TrumVPS
Service went down at 03:15 AM
URL: https://mcdhot.com
Error: connect ECONNREFUSED

Và khi website lên lại:

[🟢 UP] Blog TrumVPS
Service is back up after 5 minutes

Bước 5: Tạo Trang Status Page Công Khai

Bạn có thể tạo 1 trang status public để khách hàng hoặc người dùng xem tình trạng dịch vụ:

  1. Vào Settings → Status Page
  2. Bấm New Status Page, đặt tên (vd: TrumVPS Status)
  3. Chọn slug (vd: status)
  4. Chọn các monitor muốn hiển thị công khai
  5. Có thể thêm Google Analytics tracking nếu muốn

Kết quả: https://status.yourdomain.com/status sẽ hiển thị bảng trạng thái xanh/đỏ giống như các công ty lớn!

Bước 6: Giám Sát SSL Certificate

Uptime Kuma có thể cảnh báo khi SSL sắp hết hạn (trước 7, 14, hoặc 30 ngày):

Khi tạo HTTP Monitor, kéo xuống mục Certificate Expiry Notification, chọn số ngày cảnh báo. Cực kỳ hữu ích — không bao giờ quên gia hạn SSL nữa!

⚠️ Đừng bỏ qua! Rất nhiều website bị "Your connection is not private" chỉ vì quên gia hạn SSL. Uptime Kuma sẽ nhắc bạn trước 2 tuần!

Bước 7: Cấu Hình Nâng Cao

Multiple Status Pages Cho Nhiều Nhóm Khách Hàng:

Bạn quản lý VPS cho nhiều khách? Tạo mỗi khách 1 status page riêng, chỉ hiển thị monitor liên quan đến họ. Rất chuyên nghiệp!

Webhook Cảnh Báo:

Ngoài Telegram, Uptime Kuma hỗ trợ gửi webhook đến Slack, Discord, Microsoft Teams, Line, Signal... Tự động gửi cảnh báo đến kênh nhóm của bạn.

Database Backup:

Backup toàn bộ cấu hình Uptime Kuma:

docker cp uptime-kuma:/app/data ./uptime-kuma-backup
# Hoặc backup volume
docker run --rm -v uptime-kuma-data:/data -v $(pwd):/backup alpine tar czf /backup/uptime-kuma-backup.tar.gz -C /data .

So Sánh: Uptime Kuma vs UptimeRobot Free

Tiêu chíUptimeRobot FreeUptime Kuma
Số monitor50Không giới hạn
Thời gian check5 phútTùy chỉnh (tối thiểu 20 giây)
Giám sát TCP/UDPKhông
Giám sát SSLCó (giới hạn)Có (tùy chỉnh ngày báo)
Status pageChỉ bản trả phíMiễn phí, không giới hạn
Telegram notificationChỉ bản trả phíMiễn phí
Giá$0 (giới hạn)$0 (mã nguồn mở)
Dữ liệuLưu trên máy chủ họLưu trên VPS của bạn

Lỗi Thường Gặp & Cách Sửa

❌ "Cannot connect to Docker daemon"

Uptime Kuma không thấy Docker socket. Khi chạy container, thêm:

-v /var/run/docker.sock:/var/run/docker.sock

❌ Monitor báo DOWN nhưng website vẫn truy cập được

Có thể do firewall chặn request từ chính VPS. Kiểm tra:

curl -I https://yourdomain.com    # Từ trong VPS
sudo ufw status                    # Kiểm tra firewall

❌ Không nhận được Telegram notification

Kiểm tra: (1) Bot đã được Start chưa, (2) Chat ID có đúng không, (3) Đã gán notification vào monitor chưa.

Kết Luận

Uptime Kuma là 1 trong những tool phải cài đầu tiên trên VPS. Nó nhẹ (dùng ~50MB RAM), miễn phí mãi mãi, và giúp bạn biết vấn đề trước cả khi khách hàng phát hiện. Với VPS TrumVPS từ 40K/tháng, bạn có thể chạy Uptime Kuma + WordPress + Node.js app cùng lúc mà vẫn dư tài nguyên.

5 phút cài đặt, đổi lại sự an tâm 24/7. Bắt đầu thôi!

Cần VPS để cài Uptime Kuma & giám sát website?

VPS TrumVPS từ 40K/tháng - 1GB RAM - Dư sức chạy Uptime Kuma + Web + Bot

Mã giảm giá: 42089QPI03TI (-9%)

🚀 THUÊ VPS NGAY