Uptime Kuma là gì? Hướng dẫn cài đặt Uptime Kuma trên VPS
Uptime Kuma là công cụ giám sát uptime mã nguồn mở, self-hosted, viết bằng Node.js. Thay vì phụ thuộc vào dịch vụ bên thứ ba như UptimeRobot hay Pingdom, bạn tự triển khai và vận hành hoàn toàn trên VPS của mình — không giới hạn số lượng monitor, tần suất kiểm tra xuống tới 20 giây và dữ liệu nằm hoàn toàn trong tầm kiểm soát.
Về kiến trúc, ứng dụng sử dụng Vue.js ở frontend và SQLite làm cơ sở dữ liệu. Cơ chế hoạt động là active monitoring: theo định kỳ, Uptime Kuma gửi request đến các endpoint được cấu hình, ghi nhận trạng thái phản hồi, độ trễ (latency) và thông tin certificate — sau đó kích hoạt cảnh báo nếu phát hiện bất thường.

Tính năng chính
- Hỗ trợ đa giao thức: HTTP(s), TCP Port, HTTP(s) Keyword, HTTP(s) JSON Query, WebSocket, ICMP Ping, DNS Record, Docker Container, Steam Game Server, Push/Heartbeat monitor.
- 90+ kênh cảnh báo: Telegram, Discord, Slack, Email (SMTP), PagerDuty, Webhook — tích hợp được vào hầu hết các workflow thông báo hiện có.
- Status Page: Tạo trang trạng thái công khai, gắn domain tùy chỉnh, phân nhóm monitor theo dịch vụ — không cần cấp quyền truy cập panel quản trị cho end-user.
- Giám sát SSL: Theo dõi ngày hết hạn certificate, cảnh báo chủ động trước khi xảy ra sự cố HTTPS.
- Bảo mật: Xác thực hai lớp (TOTP 2FA), hỗ trợ Proxy.
- Giao diện real-time: Dashboard cập nhật qua WebSocket, không cần refresh. Hỗ trợ Dark/Light mode, custom CSS, giao diện tiếng Việt.
So sánh với UptimeRobot và Prometheus
| Tiêu chí | Uptime Kuma (Self-hosted) | UptimeRobot (Free) | Prometheus + Grafana |
|---|---|---|---|
| Chi phí | Chi phí VPS (~$2–5/tháng) | Miễn phí, giới hạn tính năng | Miễn phí, tốn tài nguyên hơn |
| Số monitor | Không giới hạn | Tối đa 50 | Không giới hạn |
| Tần suất kiểm tra | Tối thiểu 20 giây | 5 phút | Tùy cấu hình |
| Độ phức tạp | Trung bình (Docker cơ bản) | Không cần cài đặt | Cao (metrics pipeline) |
| Kiểm soát dữ liệu | Toàn quyền | Dữ liệu trên hệ thống UptimeRobot | Toàn quyền |
| Phù hợp | Cá nhân, startup, SME | Nhu cầu cơ bản | Hệ thống lớn, observability toàn diện |
Yêu cầu hệ thống
Uptime Kuma hoạt động rất hiệu quả về mặt tài nguyên. Một VPS với cấu hình tối thiểu sau là hoàn toàn đủ để vận hành ổn định:
- CPU: 1 Core
- RAM: Tối thiểu 1GB (đảm bảo tiến trình Node.js hoạt động mượt mà)
- Disk: 20GB SSD — Lưu ý: File Systems như NFS (Network File System) không được hỗ trợ
- Hệ điều hành: Ubuntu 22.04 hoặc 24.04 LTS
- Quyền truy cập: root hoặc tài khoản sudo
Hướng dẫn cài đặt Uptime Kuma trên VPS
Tùy vào nhu cầu và môi trường máy chủ, bạn có thể lựa chọn một trong hai phương pháp cài đặt dưới đây.
Phương pháp 1: Cài đặt bằng Docker / Docker Compose (Khuyến nghị)
Đây là phương pháp được khuyến nghị vì giúp tách biệt ứng dụng với hệ thống, dễ dàng quản lý, nâng cấp và sao lưu.
Bước 1: Cài đặt Docker & Docker Compose
Nếu VPS của bạn chưa có Docker, thực hiện cài đặt bằng lệnh sau:
curl -fsSL https://get.docker.com | sh
sudo apt install docker-compose -y
Bước 2: Triển khai bằng Docker Compose
Phương pháp này lưu toàn bộ cấu hình vào file YAML để dễ dàng tái triển khai. Tạo thư mục làm việc:
mkdir -p ~/uptime-kuma && cd ~/uptime-kuma
nano docker-compose.yml
Dán nội dung cấu hình sau vào file:
version: "3.8"
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
restart: always
ports:
- "3001:3001"
volumes:
- uptime-kuma:/app/data
environment:
- TZ=Asia/Ho_Chi_Minh
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3001"]
interval: 30s
retries: 3
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
volumes:
uptime-kuma:
Lưu file và khởi chạy container:
docker-compose up -d
Cách thay thế: Cài đặt nhanh bằng lệnh Docker Run
Nếu không muốn tạo file YAML, bạn có thể cài đặt ngay bằng một lệnh duy nhất:
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
Phương pháp 2: Cài đặt trực tiếp trên Ubuntu (Node.js & Nginx)
Phù hợp nếu bạn muốn chạy ứng dụng trực tiếp trên hệ điều hành mà không qua lớp ảo hóa của Docker.
Bước 1: Cập nhật hệ thống và cài đặt Node.js
sudo apt update && sudo apt upgrade -y
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - && sudo apt install -y nodejs
sudo apt install -y git
Bước 2: Tải mã nguồn và thiết lập ứng dụng
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm run setup
Bước 3: Quản lý ứng dụng với PM2
Sử dụng PM2 để đảm bảo Uptime Kuma luôn chạy nền và tự khởi động cùng máy chủ khi reboot:
sudo npm install pm2 -g
pm2 install pm2-logrotate
pm2 start server/server.js --name uptime-kuma
pm2 startup
Bước 4: Cấu hình Nginx làm Reverse Proxy
Để truy cập Uptime Kuma qua tên miền riêng thay vì IP:Port, cài đặt và cấu hình Nginx:
apt install nginx -y
vi /etc/nginx/conf.d/uptime-kuma.conf
Thêm cấu hình sau vào file (thay yourdomain.com bằng tên miền thực tế của bạn):
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://localhost: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_buffering off;
}
}
Khởi động lại Nginx để áp dụng cấu hình:
systemctl restart nginx
Truy cập và thiết lập ban đầu
Sau khi cài đặt thành công, mở trình duyệt và truy cập vào giao diện web theo địa chỉ:
- Qua IP:
http://IP-VPS:3001 - Qua tên miền (nếu đã cấu hình Nginx):
http://yourdomain.com
Lần đầu tiên truy cập, hệ thống sẽ yêu cầu bạn tạo tài khoản quản trị viên. Sau khi đăng nhập, bạn có thể bắt đầu thêm các monitor để giám sát website, server hay dịch vụ bất kỳ.
Kết luận
Uptime Kuma không chỉ đơn thuần là một công cụ giám sát — đây là giải pháp self-hosted toàn diện giúp bạn chủ động kiểm soát toàn bộ hệ thống mà không phụ thuộc vào bên thứ ba, không giới hạn số lượng monitor và hoàn toàn miễn phí.
Với giao diện trực quan, hệ sinh thái thông báo rộng lớn và khả năng tùy biến cao, Uptime Kuma xứng đáng là lựa chọn hàng đầu cho bất kỳ quản trị viên hệ thống nào — từ cá nhân quản lý blog cá nhân cho đến doanh nghiệp vận hành các dịch vụ quan trọng.


0 bình luận
Để lại bình luận
Bạn phải đăng nhập để gửi bình luận.