Cài Uptime Kuma Trên VPS - Theo Dõi Uptime Website & Gửi Cảnh Báo Telegram Miễn Phí 2026
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:
- Ping website HTTP/HTTPS mỗi 30 giây để kiểm tra còn sống không
- Giám sát port TCP (MySQL 3306, Redis 6379, SSH 22...)
- Kiểm tra chứng chỉ SSL sắp hết hạn
- Giám sát Docker containers
- Gửi cảnh báo qua Telegram, Discord, Email, Slack, Webhook...
- Dashboard đẹp, responsive, dark mode mặc định
- Trang status page công khai cho khách hàng xem
Yêu Cầu
- VPS TrumVPS (Ubuntu 22.04/24.04, 1GB RAM là dư sức)
- Docker đã cài (nếu chưa, xem bài cài Docker & Portainer)
- 1 domain hoặc subdomain trỏ về VPS (vd: status.yourdomain.com)
- Telegram Bot Token (để nhận cảnh báo)
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:
-d: Chạy ngầm (detached)--name uptime-kuma: Đặt tên container-p 3001:3001: Map port 3001 ra ngoài-v uptime-kuma-data:/app/data: Lưu data vào volume riêng, không mất khi xóa container--restart=always: Tự động restart khi VPS reboot
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
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:
- Mở Telegram, tìm
@BotFather - Gửi lệnh
/newbot - Đặt tên bot (vd: Uptime Kuma Alert)
- Đặt username (vd:
@myuptimealert_bot) - BotFather sẽ gửi Bot Token — copy lại!
Lấy Chat ID:
- Tìm bot vừa tạo trên Telegram, bấm Start
- Tìm
@userinfobothoặc@getidsbot - Forward 1 tin nhắn từ bot của bạn sang → bot sẽ trả về Chat ID
- Ghi lại Chat ID (dạng số, vd:
5357766590)
Thêm Notification Vào Uptime Kuma:
- Trong Uptime Kuma, vào Settings → Notifications
- Chọn Setup Notification → chọn Telegram
- Điền Bot Token + Chat ID vừa lấy
- Bấm Test → nếu nhận được tin nhắn Telegram là OK
- 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ụ:
- Vào Settings → Status Page
- Bấm New Status Page, đặt tên (vd: TrumVPS Status)
- Chọn slug (vd:
status) - Chọn các monitor muốn hiển thị công khai
- 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!
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 Free | Uptime Kuma |
|---|---|---|
| Số monitor | 50 | Không giới hạn |
| Thời gian check | 5 phút | Tùy chỉnh (tối thiểu 20 giây) |
| Giám sát TCP/UDP | Không | Có |
| Giám sát SSL | Có (giới hạn) | Có (tùy chỉnh ngày báo) |
| Status page | Chỉ bản trả phí | Miễn phí, không giới hạn |
| Telegram notification | Chỉ bản trả phí | Miễn phí |
| Giá | $0 (giới hạn) | $0 (mã nguồn mở) |
| Dữ liệu | Lư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