Uptime Kuma
Cài Uptime Kuma từ Kho ứng dụng, tạo tài khoản quản trị sau khoá thiết lập, thêm mục giám sát, cảnh báo, trang trạng thái, rồi sao lưu và cập nhật.
Uptime Kuma là công cụ giám sát tự host: nó kiểm tra website, API và máy chủ của bạn mỗi phút, báo qua Telegram, email và nhiều kênh khác khi có dịch vụ sập, và xuất bản trang trạng thái cho khách hàng. Hãy chọn Uptime Kuma khi bạn muốn biết sự cố trước người dùng. Trang này hướng dẫn cài từ Kho ứng dụng, thiết lập lần đầu, những gì giám sát được từ container của ZoPanel, sao lưu và cập nhật.
Yêu cầu
| Mục | Giá trị |
|---|---|
| Image | louislam/uptime-kuma:1 |
| Giới hạn RAM | 512 MB, 1 CPU |
| Đĩa trống để cài | Khoảng 1,7 GB trên ổ của Docker ở lần cài đầu (image cộng 1 GB chừa lại cho máy chủ) |
| Docker | Đã cài trên máy chủ (Kho ứng dụng → Cài Docker) |
| Tên miền | Tên miền hoặc tên miền phụ có bản ghi A trỏ về máy chủ, ví dụ status.example.com |
Mẹo: công cụ giám sát chạy trên cùng máy chủ với các website nó theo dõi sẽ sập cùng chúng và không báo được cho bạn. Để giám sát thật, hãy cài Uptime Kuma trên máy chủ khác với máy chủ cần theo dõi, tốt nhất là ở nhà cung cấp khác.
Cài Uptime Kuma
Với quản trị viên
-
Mở Kho ứng dụng. Nếu thấy Cần cài Docker, bấm Cài Docker trước.
-
Trên thẻ Uptime Kuma, bấm Cài đặt.
-
Điền hộp thoại:
Trường Nội dung Tên miền Tên miền ứng dụng chạy, không gồm http://. Hệ thống tạo một website mới cho tên miền này.Chủ sở hữu Tài khoản hosting sở hữu ứng dụng. Giới hạn của gói tài khoản áp dụng cho container. SSL miễn phí (Let's Encrypt) Để bật. Chứng chỉ được cấp ở cuối quá trình cài nếu tên miền đã trỏ về máy chủ. -
Bấm Cài đặt và theo dõi log tác vụ tới dòng
Uptime Kuma is available at http://<tên miền>. -
Nếu log báo
SSL could not be issued yet, trỏ tên miền về máy chủ rồi bấm Cấp chứng chỉ trong tab SSL của website.
Uptime Kuma không có trường cài đặt bổ sung và ZoPanel không đặt biến nào cho nó. Nginx đứng trước chuyển tiếp kết nối WebSocket, thứ giao diện Uptime Kuma cần.
Với khách hàng
Khách tự cài từ Kho ứng dụng trong panel của mình khi gói cho phép. Uptime Kuma cần 512 MB trong RAM (MB) của gói và một suất trong Gói hosting → Ứng dụng Docker. Xem Gói hosting và giới hạn.
Thiết lập lần đầu
Bản cài mới nằm sau khoá thiết lập: người đầu tiên truy cập sẽ tạo tài khoản quản trị duy nhất của Uptime Kuma, nên ZoPanel hiển thị trang "đang được thiết lập" cho mọi người khác tới khi bạn làm xong.
Uptime Kuma có giao diện tiếng Việt. Tên mục bên dưới ghi theo tiếng Anh, kèm tên tiếng Việt khi khác biệt.
- Mở website và vào tab Docker. Chờ trạng thái là
running. - Trong thẻ Đang khoá thiết lập, bấm Mở ứng dụng (chỉ mình tôi).
- Ở màn hình Create your admin account (Tạo tài khoản quản trị), chọn ngôn ngữ, nhập Username, Password và Repeat Password, rồi bấm Create.
- Quay lại tab Docker, bấm Đã thiết lập xong — mở công khai. Trang trạng thái giờ công khai; bảng điều khiển vẫn cần đăng nhập.
Thêm mục giám sát, cảnh báo và trang trạng thái
Tạo kênh thông báo trước
- Mở Settings → Notifications → Setup Notification (Cài đặt → Thông báo → Cài đặt thông báo).
- Chọn Notification Type, ví dụ Telegram (bot token và chat ID) hoặc Email (SMTP).
- Với email, hộp mail tạo trên panel dùng được: host = tên máy chủ mail của bạn, cổng
587(bảo mật None / STARTTLS) hoặc465(SSL/TLS), địa chỉ đầy đủ và mật khẩu. - Tích Default enabled để tự gắn vào các mục giám sát mới, bấm Test, rồi Save.
Một mục giám sát
- Bấm Add New Monitor (Thêm mới kênh theo dõi).
- Chọn Monitor Type. Với website, dùng HTTP(s) (hoặc HTTP(s) - Keyword để kiểm tra một từ có xuất hiện trên trang).
- Nhập Friendly Name và URL, ví dụ
https://www.example.com. - Giữ Heartbeat Interval 60 giây hoặc điều chỉnh, đặt Retries 1–2 để tránh cảnh báo vì một lần phản hồi chậm.
- Tích các kênh thông báo cần dùng, rồi Save.
Uptime Kuma cũng cảnh báo trước khi chứng chỉ SSL hết hạn (Certificate Expiry Notification trong phần nâng cao của mục giám sát HTTP(s)).
Một trang trạng thái
- Mở Status Pages → New Status Page (Trang trạng thái), nhập tên và slug, bấm Next.
- Thêm nhóm và mục giám sát, mô tả và logo, rồi Save.
- Chia sẻ địa chỉ
https://status.example.com/status/<slug>.
Thiết lập cần thiết
- Settings → Security: bật Two Factor Authentication cho tài khoản quản trị.
- Settings → Reverse Proxy → Trust Proxy: chọn Yes. Uptime Kuma chỉ truy cập được qua nginx của ZoPanel, nên thiết lập này giúp log hiển thị đúng IP người truy cập.
- Settings → General: đặt múi giờ hiển thị và múi giờ máy chủ để thời điểm sự cố khớp với giờ của bạn.
- Settings → Monitor History: rút ngắn thời gian lưu heartbeat nếu database phình to.
Giám sát được gì
Các lần kiểm tra của Uptime Kuma chạy bên trong container, sau tường lửa container của ZoPanel:
| Mục tiêu | Hoạt động? |
|---|---|
| Website và API trên internet (HTTP(s), keyword, DNS, TCP tới địa chỉ công khai) | Có |
| Website trên máy chủ này qua tên miền công khai (80/443) | Có |
| Cổng mail của máy chủ này (25, 465, 587) với kiểu TCP Port | Có |
| Các cổng khác của máy chủ này: SSH (22), MariaDB (3306), PostgreSQL, Redis, panel | Không: luôn báo sập |
| Ping tới chính IP của máy chủ này | Không |
| Mạng nội bộ (10.x, 172.16–31.x, 192.168.x, 100.64.x), loopback | Không |
| Mục giám sát Docker Container | Không: container không có quyền truy cập Docker socket |
Ping tới địa chỉ công khai thường hoạt động bình thường. Container chạy không có capability NET_RAW; nếu mục giám sát Ping báo lỗi quyền, hãy dùng HTTP(s) hoặc TCP Port.
Muốn theo dõi database hay SSH của máy chủ này, hãy giám sát từ một Uptime Kuma trên máy chủ khác (và cho phép IP của máy chủ đó trong tường lửa hoặc trong Truy cập từ xa của database), hoặc tạo một trang health-check nhỏ trên website rồi giám sát qua HTTPS.
Dữ liệu nằm ở đâu và sao lưu
Dữ liệu ứng dụng nằm trong /var/lib/zopanel-apps/<instance>/, với <instance> là tên miền đổi dấu chấm thành gạch ngang (status.example.com → status-example-com). Container có tên zp-app-<instance>.
| Đường dẫn trên máy chủ | Nội dung |
|---|---|
/var/lib/zopanel-apps/<instance>/data/ |
Thư mục /app/data của Uptime Kuma: database SQLite kuma.db (mục giám sát, thông báo, trang trạng thái, lịch sử, người dùng) và ảnh đã tải lên |
ZoPanel sao lưu gì và không sao lưu gì: thẻ Sao lưu trong tab Docker của website sao lưu toàn bộ thư mục ứng dụng. Bản sao lưu tài khoản và sao lưu gia tăng gồm thư mục website, database và hộp mail của tài khoản. Chúng không gồm /var/lib/zopanel-apps, nên mục giám sát và lịch sử chỉ nằm trong bản sao lưu riêng của ứng dụng. Bản sao lưu cấu hình (.zpb) chỉ chứa bản ghi của panel về ứng dụng, không chứa dữ liệu của nó.
Để sao lưu Uptime Kuma, bấm Sao lưu ngay trong thẻ Sao lưu. Quản trị viên còn đặt được Lịch (Tắt, Mỗi ngày hoặc Mỗi tuần; mặc định tắt) và số bản Giữ lại (1–60, mặc định 7), rồi bấm Lưu. Mỗi bản sao lưu nén /var/lib/zopanel-apps/<instance>/ thành /var/backups/zopanel-apps/<instance>/YYYYMMDD-HHMMSS.tar.gz, trong thư mục chỉ root đọc được và không tính vào dung lượng đĩa của tài khoản. Container được tạm dừng (pause, không phải stop) trong vài giây sao chép, nên file SQLite nhất quán. Các bản cũ vượt quá số Giữ lại bị xoá, và khi một lần sao lưu theo lịch thất bại, quản trị viên nhận cảnh báo Sao lưu thất bại.
Để khôi phục, quản trị viên bấm Khôi phục cạnh một bản sao lưu. Uptime Kuma được dừng và dữ liệu được thay bằng nội dung file nén; dữ liệu hiện tại được giữ riêng tới khi ứng dụng khôi phục khởi động được, và được đặt lại nếu nó không khởi động. Mọi thay đổi sau thời điểm sao lưu sẽ mất. Mỗi bản sao lưu còn có nút xoá (chỉ quản trị viên), và xoá ứng dụng kèm file của nó cũng xoá luôn các bản sao lưu. Khách hàng có thể bấm Sao lưu ngay và xem danh sách; việc đặt lịch và khôi phục do nhà cung cấp thực hiện.
Các file nén vẫn ở trên cùng máy chủ. Hãy chép những bản quan trọng ra ngoài (ví dụ bằng scp hoặc rclone từ /var/backups/zopanel-apps/<instance>/) và lưu ở dạng mã hoá, vì chúng chứa thông tin đăng nhập của các kênh thông báo. Để khôi phục trên máy chủ khác, cài Uptime Kuma với cùng tên miền ở đó, chép file nén vào /var/backups/zopanel-apps/<instance>/ trên máy chủ mới rồi bấm Khôi phục trong thẻ Sao lưu của nó.
Cập nhật Uptime Kuma
- Sao lưu trước (Sao lưu ngay trong thẻ Sao lưu).
- Trong tab Docker, bấm Cập nhật bản mới (chỉ quản trị viên; khách hàng nhờ nhà cung cấp).
- Tác vụ kéo image trong danh mục và tạo lại container. Mục giám sát và lịch sử được giữ. Việc kiểm tra tạm dừng vài giây trong lúc khởi động lại.
Tag 1 của danh mục đi theo dòng 1.x của Uptime Kuma, nên Cập nhật bản mới mang về bản 1.x mới nhất. Nó không chuyển bạn sang phiên bản lớn mới.
Xử lý sự cố
| Hiện tượng hoặc thông báo | Cách xử lý |
|---|---|
| Khách truy cập thấy "This app is being set up" | Bấm Đã thiết lập xong — mở công khai trong tab Docker. |
| Bảng điều khiển liên tục báo mất kết nối hoặc đang kết nối lại | Giao diện dùng WebSocket. Tải lại trang; nếu bạn đặt CDN hay proxy khác trước tên miền, hãy bảo đảm nó cho WebSocket đi qua. |
| Mục giám sát SSH, MariaDB hay Redis của máy chủ này luôn báo sập | Đúng như thiết kế: container không tới được các cổng đó. Xem mục Giám sát được gì. |
| Mục giám sát IP nội bộ bị timeout | Mạng nội bộ bị chặn với container. Hãy giám sát địa chỉ công khai. |
| Không nhận được email cảnh báo | Kiểm tra host, cổng và kiểu bảo mật trong kênh thông báo, bấm Test và xem Log ứng dụng trong tab Docker. |
Uptime Kuma needs 512 MB of memory; your plan has … MB and your apps use … MB |
Tăng RAM (MB) của gói hoặc gỡ một ứng dụng khác. |
not enough disk space: this app needs about 1.7 GB free and the server has … GB; free some space first |
Giải phóng dung lượng đĩa rồi cài lại. |
| Quên mật khẩu quản trị | Bằng root, mở shell trong container với docker exec -it zp-app-<instance> bash, chạy npm run reset-password và làm theo hướng dẫn. |
Xem thêm
- Kho ứng dụng và lưu trữ S3
- Từng ứng dụng dùng để làm gì
- Gói hosting và giới hạn
- Wiki Uptime Kuma và trang dự án