Việc xây dựng một “home lab” (phòng thí nghiệm tại nhà) là cách tuyệt vời để biến những ý tưởng công nghệ của bạn thành hiện thực, đồng thời kiến tạo một bộ ứng dụng tự host mạnh mẽ, từ các dịch vụ thiết yếu nâng cao chất lượng cuộc sống cho đến những tiện ích độc đáo nhưng đầy tính thực tiễn. Tuy nhiên, nếu bạn là người yêu thích thử nghiệm với máy chủ tại nhà, chắc chắn bạn sẽ gặp phải tình trạng hệ thống bị ngắt kết nối nhiều lần trong suốt hành trình DIY của mình.
Những lỗi do con người gây ra không phải là nguyên nhân duy nhất khiến home lab của bạn gặp sự cố. Dù là phần cứng trục trặc, mất điện đột ngột hay lỗi cấu hình phần mềm, có rất nhiều yếu tố có thể khiến bộ dịch vụ quý giá của bạn ngừng hoạt động. Với tư cách là một người mà năng suất làm việc phụ thuộc vào các ứng dụng tự host, việc thiết lập một trạm giám sát đã giúp tôi rất nhiều. Mặc dù có rất nhiều lựa chọn trong hệ sinh thái giám sát home lab, Uptime Kuma vẫn là tiện ích yêu thích của tôi cho công việc này – và đây là tất cả những gì bạn cần biết về ứng dụng để tích hợp nó vào hệ thống tự host của mình.
Uptime Kuma là gì và tại sao bạn cần sử dụng?
Khái niệm và tính năng cốt lõi
Về bản chất, Uptime Kuma là một máy chủ giám sát có khả năng theo dõi máy chủ tại nhà (home server), các dịch vụ tự host (self-hosted services) và các máy ảo (virtual guests) để đảm bảo chúng luôn hoạt động. Bên cạnh chức năng theo dõi thời gian hoạt động (uptime tracking) rõ ràng, Uptime Kuma còn có thể thu thập thống kê về thời gian phản hồi và thời hạn chứng chỉ SSL cho các dịch vụ yêu thích của bạn – thậm chí còn có thể tạo biểu đồ ping trực quan từ các số liệu đã ghi nhận.
Hệ thống cảnh báo linh hoạt
Tuy nhiên, tiện ích của Uptime Kuma được nâng cao đáng kể khi bạn xem xét các tính năng cảnh báo mạnh mẽ được tích hợp sẵn trong ứng dụng. Thay vì chỉ đơn thuần hiển thị thời gian hoạt động của các ứng dụng, Uptime Kuma có thể tận dụng các bot token, khóa API và webhook để gửi cảnh báo đến Telegram, GoAlert, Discord và vô số nền tảng khác nhằm thông báo cho bạn trong trường hợp các dịch vụ của bạn ngoại tuyến.
Triển khai Uptime Kuma bằng Docker container
Lý do nên cài đặt riêng biệt
Container Docker là cách đơn giản nhất để triển khai và chạy Uptime Kuma. Mặc dù bạn có thể cài đặt Uptime Kuma trực tiếp trên máy chủ chính của home lab, tôi khuyên bạn nên sử dụng một mini-PC, Raspberry Pi hoặc NAS để host ứng dụng này. Nếu bạn chạy Uptime Kuma trên máy chủ tự host chính, bất kỳ thử nghiệm nào khiến máy chủ gặp sự cố cũng sẽ làm ngắt kết nối máy chủ giám sát. Khi đó, container Uptime Kuma cũng ngoại tuyến, và bạn sẽ không nhận được bất kỳ thông báo nào về trạng thái nghiêm trọng của home lab. Thậm chí, bạn có thể triển khai Uptime Kuma bằng Docker trên máy tính Windows 11 nếu đang sử dụng WSL2 và Docker Desktop hoặc Podman Desktop.
Các bước cài đặt chi tiết
Sau đây là các bước bạn cần thực hiện để triển khai máy chủ Uptime Kuma:
-
(Tùy chọn) Nếu bạn đang sử dụng hệ điều hành có giao diện đồ họa (GUI), hãy khởi chạy ứng dụng terminal đi kèm.
Khởi chạy ứng dụng terminal trên hệ điều hành Debian
-
Chạy lệnh sau trong terminal và đợi Docker Engine kéo image Uptime Kuma về cũng như triển khai container.
sudo docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
Chạy lệnh Docker để triển khai máy chủ Uptime Kuma
-
Nếu bạn định cấu hình Uptime Kuma trên chính máy chủ host, bạn có thể nhập http://localhost:3001 vào trình duyệt web yêu thích của mình.
Truy cập máy chủ Uptime Kuma thông qua localhost
-
Ngoài ra, bạn có thể thay thế chuỗi localhost bằng địa chỉ IP của máy chủ host nếu bạn muốn truy cập container Uptime Kuma từ một thiết bị khác trong mạng gia đình của mình.
Truy cập giao diện web Uptime Kuma bằng địa chỉ IP
Thêm dịch vụ vào Uptime Kuma để giám sát
Sau khi máy chủ Uptime Kuma đã hoạt động, đã đến lúc thêm các dịch vụ bạn muốn giám sát vào giao diện web của nó.
-
Chọn Ngôn ngữ cho giao diện web trước khi nhập Tên người dùng và Mật khẩu cho tài khoản Uptime Kuma.
Tạo tài khoản người dùng trên giao diện web Uptime Kuma
-
Nhấn nút Add New Monitor (Thêm giám sát mới) khi bạn truy cập vào Dashboard (Bảng điều khiển).
Thêm một dịch vụ giám sát mới trong Uptime Kuma
-
Chọn Friendly Name (Tên thân thiện – định danh) cho dịch vụ tự host của bạn, nhập URL của nó và nhấn nút Save (Lưu).
Cấu hình cài đặt để thêm dịch vụ giám sát mới trong Uptime Kuma
Cấu hình cảnh báo thời gian thực trong Uptime Kuma (Ví dụ: Discord)
Khi bạn đã thêm toàn bộ các công cụ tự host của mình vào Uptime Kuma, bạn có thể thiết lập các cảnh báo tùy chỉnh để luôn nắm bắt được trạng thái của máy chủ tại nhà. Tôi đã sử dụng máy chủ Discord trong hướng dẫn này, nhưng quy trình tổng thể tương tự đối với hơn 90 ứng dụng thông báo được Uptime Kuma hỗ trợ.
-
Mở máy chủ Discord của bạn và nhấn vào biểu tượng bánh răng cưa (Cog) bên cạnh Kênh văn bản (Text Channel) nơi bạn muốn nhận các cảnh báo từ Uptime Kuma.
Truy cập biểu tượng cài đặt cho kênh Discord để cấu hình webhook
-
Chuyển đến tab Integrations (Tích hợp) và nhấn vào tùy chọn Create Webhook (Tạo Webhook).
Tạo một webhook mới trong Discord cho cảnh báo Uptime Kuma
-
Sau khi Discord đã tạo một webhook mới, nhấn vào mũi tên thả xuống bên cạnh nó và nhấp vào Copy Webhook URL (Sao chép URL Webhook).
Sao chép URL webhook của Discord để sử dụng trong Uptime Kuma
-
Quay lại Bảng điều khiển Uptime Kuma (Uptime Kuma Dashboard) và chọn nút Edit (Chỉnh sửa) bên dưới dịch vụ bạn muốn.
Nhấn nút Chỉnh sửa bên dưới một dịch vụ trong giao diện Uptime Kuma
-
Nhấp vào Setup Notification (Thiết lập thông báo) trong phần Notifications (Thông báo).
Thiết lập thông báo mới cho dịch vụ trong Uptime Kuma
-
Chọn Notification Type (Loại thông báo), đặt Friendly Name (Tên thân thiện), dán Webhook URL và nhấn Save (Lưu).
Cấu hình thông báo trong Uptime Kuma với webhook Discord
-
(Tùy chọn) Nhấn nút Test (Kiểm tra) để xác nhận xem Uptime Kuma có thể gửi thông báo đến máy chủ Discord của bạn hay không.
Kiểm tra khả năng gửi thông báo từ Uptime Kuma đến Discord
-
Bạn có thể sửa đổi các tùy chọn Retries (Số lần thử lại) và Resend Notification if Down X times consecutively (Gửi lại thông báo nếu ngoại tuyến X lần liên tiếp) để thay đổi tần suất thông báo.
Chỉnh sửa cài đặt chung về tần suất thông báo trong Uptime Kuma
Xây dựng trung tâm giám sát mạnh mẽ với Uptime Kuma
Nếu bạn đã thực hiện tất cả các bước một cách chính xác, Uptime Kuma sẽ có khả năng giám sát home lab của bạn và gửi cảnh báo ngay khi có sự cố xảy ra. Cá nhân tôi tự host Uptime Kuma trên Raspberry Pi vì ứng dụng này hầu như không tiêu tốn tài nguyên nào, ngay cả khi có rất nhiều dịch vụ và cảnh báo được thiết lập.
Nhận thông báo từ Uptime Kuma trên Discord khi có sự cố
Trong trường hợp Uptime Kuma có vẻ quá phức tạp đối với thiết lập của bạn, bạn luôn có thể áp dụng “phương pháp truyền thống” là nhờ những người thân trong gia đình thông báo khi tường lửa, dịch vụ đám mây và các dịch vụ khác của bạn ngoại tuyến do các thử nghiệm trong home lab. Hãy bắt đầu xây dựng hệ thống giám sát của riêng bạn ngay hôm nay để đảm bảo mọi dịch vụ luôn hoạt động ổn định!