Uptime Kuma: Giám Sát Thời Gian Hoạt Động Tự Host
Uptime Kuma là ứng dụng giám sát tự host, chạy trên máy chủ riêng để theo dõi website, API và container Docker, rồi báo khi có thứ gì đó ngừng hoạt động. Nó kiểm tra mỗi 20 giây theo mặc định và gửi thông báo qua 90+ dịch vụ, gồm Telegram, Discord và email SMTP. Hãy dùng nếu bạn đã tự vận hành hạ tầng và muốn một bảng điều khiển duy nhất cho uptime và cảnh báo, không tốn phí SaaS; bỏ qua nếu bạn không muốn vận hành thêm dịch vụ giám sát nữa.
Tìm Hiểu Về Uptime Kuma
Uptime Kuma là công cụ giám sát tự host, xây dựng bằng Vue 3 và Socket.IO, chạy như một ứng dụng web duy nhất trên máy chủ riêng của bạn. Nó kiểm tra các mục tiêu qua HTTP(s), TCP, DNS, ping, WebSocket và trạng thái container Docker, rồi hiển thị kết quả trên một trang trạng thái do bạn kiểm soát. Giao diện cập nhật trực tiếp qua WebSocket thay vì gọi liên tục REST API, một lựa chọn mà README nói là mục tiêu ban đầu của dự án.
Động Lực Ra Đời Của Uptime Kuma
Louis Lam xây dựng Uptime Kuma vì anh muốn có một công cụ tự host thay thế cho Uptime Robot nhưng không tìm được lựa chọn nào ổn. Lựa chọn gần nhất anh tìm thấy, Statping, đã ngừng được bảo trì và không đủ ổn định để tin dùng, theo phần nói về động lực trong README. Uptime Kuma cũng là một dự án cá nhân để anh học Vue 3 và vite.js, thử nghiệm Bootstrap 5, và xây một single-page app chạy trên WebSocket thay vì một REST API thông thường. Những lựa chọn đó vẫn thể hiện rõ trong cách Uptime Kuma hoạt động hôm nay, chứ không chỉ là câu chuyện khởi nguồn.
Các Tính Năng Giám Sát Chính
- ✓Giám sát các mục tiêu HTTP(s), TCP, HTTP(s) Keyword, HTTP(s) JSON Query, WebSocket, Ping, bản ghi DNS, Push, Steam Game Server, và container Docker, theo danh sách tính năng trong README.
- ✓Chu kỳ kiểm tra mặc định là 20 giây.
- ✓Tích hợp thông báo gồm Telegram, Discord, Gotify, Slack, Pushover, và email qua SMTP, trong số hơn 90 dịch vụ được ghi trong mã nguồn.
- ✓Hỗ trợ nhiều trang trạng thái độc lập, và một trang trạng thái có thể được gắn vào tên miền riêng của nó.
- ✓Có sẵn biểu đồ ping và thông tin chứng chỉ TLS cho từng monitor.
- ✓Hỗ trợ proxy cho các lượt kiểm tra cần đi qua proxy.
- ✓Xác thực hai lớp (2FA) cho tài khoản quản trị.
- ✓Đi kèm hỗ trợ đa ngôn ngữ, được duy trì qua một quy trình dịch dựa trên Weblate, theo README.
Các Cách Cài Đặt
README ghi lại ba cách cài đặt. Docker Compose là cách được nêu đầu tiên: tạo một thư mục, tải file compose.yaml của dự án về, rồi chạy `docker compose up -d`; sau đó Uptime Kuma sẽ chạy trên cổng 3001, lắng nghe trên mọi network interface. Có một lệnh `docker run` đơn giản khác, dùng image `louislam/uptime-kuma:2` cùng một volume đặt tên để lưu dữ liệu, và bạn có thể gắn nó vào 127.0.0.1 thay vì để lộ ra ngoài. Volume kiểu NFS không dùng được với cả hai cách cài Docker này. README gọi NFS là không được hỗ trợ và khuyên nên trỏ tới một thư mục cục bộ thay thế. Với cách cài không dùng Docker, README yêu cầu Node.js từ bản 20.4 trở lên, Git, và pm2, rồi bạn `git clone` repo, chạy `npm run setup`, và khởi động server trực tiếp bằng `node server/server.js` hoặc, theo cách được khuyến nghị, chạy dưới pm2 bằng `pm2 start server/server.js --name uptime-kuma`. Các nền tảng được hỗ trợ gồm các bản phân phối Linux lớn (Debian, Ubuntu, Fedora, Arch) và Windows 10 x64 hoặc Windows Server 2012 R2 x64 trở lên; FreeBSD, OpenBSD, NetBSD, Replit, và Heroku được nêu rõ là không được hỗ trợ. Phần thiết lập reverse proxy và cập nhật nằm ở một trang wiki riêng mà README dẫn tới, chứ không viết trực tiếp trong README.
Các Tình Huống Giám Sát Thường Gặp
- •Người vận hành homelab hoặc nhóm nhỏ muốn có một bảng điều khiển uptime cho các dịch vụ tự host mà không phải gửi dữ liệu cho một SaaS bên thứ ba.
- •Theo dõi tình trạng container của một stack Docker Compose cùng lúc với các endpoint HTTP của nó trên cùng một bảng điều khiển.
- •Chạy một trang trạng thái cho một dự án hay dịch vụ, gắn vào tên miền phụ riêng.
- •Phát hiện sớm chứng chỉ TLS sắp hết hạn nhờ thông tin chứng chỉ có sẵn cho từng monitor.
- •Giám sát một Steam Game Server hoặc dịch vụ không phải web khác, nơi một lượt kiểm tra ping hay TCP đơn giản là thứ bạn thực sự cần.
Điểm Mạnh
- ✓Tích hợp thông báo gồm Telegram, Discord, Gotify, Slack, Pushover, và email qua SMTP, trong số hơn 90 dịch vụ được liệt kê trong mã nguồn.
- ✓Các kiểu giám sát vượt xa việc ping HTTP đơn thuần: bản ghi DNS, trạng thái container Docker, Steam Game Server, và heartbeat kiểu push đều được hỗ trợ.
- ✓Cài bằng Docker Compose chỉ mất ba lệnh là đã chạy trên cổng 3001.
- ✓Giấy phép MIT, nên không có gì mập mờ khi dùng cho mục đích thương mại hay chỉnh sửa lại.
- ✓2FA và thông tin chứng chỉ TLS theo từng monitor được tích hợp sẵn, không cần thêm plugin.
Hạn Chế Đã Biết
- △README không nêu mức RAM hay CPU tối thiểu, cũng không có hướng dẫn mở rộng khi giám sát hàng trăm mục tiêu, nên việc lên kế hoạch tài nguyên là việc của bạn.
- △Volume kiểu NFS bị nêu rõ là không hỗ trợ cho cách cài Docker, loại bỏ một kiểu lưu trữ dùng chung khá phổ biến.
- △Cách cài không dùng Docker chỉ giới hạn ở các bản phân phối Linux lớn và Windows; README liệt kê FreeBSD, OpenBSD, NetBSD, Replit, và Heroku là không hỗ trợ.
- △Đây là công cụ chỉ dành cho tự host. README không mô tả một phiên bản được host hay quản lý sẵn, nên bạn phải tự vận hành và bảo trì máy chủ chạy nó.
- △README nhắc tới một lượng pull request tồn đọng mà người bảo trì không có đủ thời gian tự kiểm thử hết, điều đáng cân nhắc trước khi kỳ vọng merge nhanh.
- △Cách cài không dùng Docker cần Node.js từ bản 20.4 trở lên cùng pm2 để chạy liên tục, nhiều bước hơn so với một file thực thi đơn.
Lựa Chọn Thay Thế Cho Uptime Kuma
Câu Hỏi Thường Gặp
Uptime Kuma có thể giám sát endpoint HTTP(s), cổng TCP, HTTP(s) kèm kiểm tra từ khoá hoặc JSON, kết nối WebSocket, ping, bản ghi DNS, heartbeat kiểu push, Steam Game Server, và trạng thái container Docker, theo danh sách tính năng của nó.
Uptime Kuma cài được qua Docker Compose, một lệnh `docker run` duy nhất dùng image louislam/uptime-kuma, hoặc cài không dùng Docker với Node.js 20.4 trở lên, Git, và pm2 để giữ nó chạy nền.
Uptime Kuma gửi cảnh báo qua Telegram, Discord, Gotify, Slack, Pushover, và email SMTP, trong số hơn 90 dịch vụ thông báo được ghi trong mã nguồn của nó.
Uptime Kuma được phát hành theo giấy phép MIT, cho phép dùng cho mục đích thương mại, chỉnh sửa, và phân phối lại mà không phải trả phí bản quyền.
Uptime Kuma chạy được mà không cần Docker: README mô tả cách cài thủ công với Node.js 20.4 trở lên, Git, và pm2, dùng `npm run setup` rồi khởi động server trực tiếp hoặc chạy dưới pm2.
Uptime Kuma đi kèm hỗ trợ đa ngôn ngữ, và README dẫn tới một quy trình dịch dựa trên Weblate để dịch nó sang thêm ngôn ngữ khác.
Ai nên dùng — và ai nên bỏ qua
Hãy thử Uptime Kuma nếu bạn đã tự vận hành một máy chủ tại nhà hoặc vài VPS và muốn một bảng điều khiển duy nhất báo cho bạn ngay khi một endpoint HTTP, một container Docker, hay một bản ghi DNS ngừng hoạt động bình thường, mà không phải trả phí hàng tháng cho việc đó. Bỏ qua nếu bạn không muốn tự vá lỗi và sao lưu thêm một dịch vụ nữa, hoặc nếu thứ bạn thực sự cần là số liệu hạ tầng sâu hơn là chỉ kiểm tra lên/xuống và chứng chỉ; việc đó hợp với thứ như Zabbix hay bộ Prometheus-và-Grafana hơn.
Repo liên quan
Chưa chắc uptime-kuma có hợp với bạn?
Để ChatGPT, Claude hoặc Perplexity tìm hiểu giúp — bấm bên dưới và xem AI nói gì về uptime-kuma.
