Giám sát đa máy chủ miễn phí với CF-Server-Monitor trên nền tảng Cloudflare Workers

7 phút đọc

Trong bối cảnh quản lý hạ tầng mạng ngày càng phức tạp, việc tìm kiếm một giải pháp giám sát nhiều máy chủ vừa tiết kiệm chi phí, vừa đảm bảo an toàn luôn là bài toán đau đầu của các quản trị viên. Repository huilang-me/CF-Server-Monitor nổi lên như một phương án tối ưu khi tận dụng triệt để hệ sinh thái không máy chủ (serverless) của Cloudflare. Với hơn 2.076 stars và 1.862 forks trên GitHub (cập nhật mới nhất vào ngày 20/09/2026), dự án này cung cấp một hệ thống giám sát máy chủ gọn nhẹ, miễn phí và có tính bảo mật cao.

Cơ chế hoạt động tối ưu hóa từ Cloudflare Workers và D1

CF-Server-Monitor không đi theo lối mòn của các công cụ giám sát truyền thống vốn đòi hỏi máy chủ máy chủ (master) cồng kềnh. Thay vào đó, hệ thống được xây dựng hoàn toàn trên nền tảng đám mây của Cloudflare, bao gồm Cloudflare Workers, cơ sở dữ liệu D1 và Durable Objects.

Quy trình vận hành của hệ thống diễn ra theo mô hình tinh gọn:

  • Phía máy chủ (Agent): Một công cụ giám sát gọn nhẹ viết bằng ngôn ngữ Go (gọi là cfsm-agent, hoạt động dưới tên dịch vụ cf-probe) được cài đặt trực tiếp trên các máy chủ cần theo dõi. Agent này sẽ thu thập dữ liệu và chủ động gửi báo cáo một chiều lên Cloudflare Workers.
  • Xử lý dữ liệu: Cloudflare Workers tiếp nhận thông tin, ghi dữ liệu lịch sử vào cơ sở dữ liệu D1. Đồng thời, thông qua Durable Objects phối hợp với WebSocket, hệ thống đẩy dữ liệu trực tiếp về giao diện người dùng theo thời gian thực mà không cần tải lại trang.

Hệ thống có khả năng tương thích cực kỳ rộng rãi, hỗ trợ hầu hết các hệ điều hành phổ biến hiện nay như các bản phân phối Linux thông thường, Alpine Linux, OpenWrt, macOS, Windows, cùng các hệ điều hành NAS như Synology DSM và Flying Milk fnOS (飞牛 fnOS).

Triển khai linh hoạt và quản lý Agent hiệu quả

Nhà phát triển khuyến khích người dùng không nên sử dụng phương thức cài đặt nhanh một click (One-click deploy) do khó cập nhật lâu dài. Thay vào đó, hai phương thức sau được khuyên dùng để dễ dàng đồng bộ các bản cập nhật mới từ thượng nguồn:

Phương thức 1: Kết nối Cloudflare Workers trực tiếp với kho lưu trữ GitHub. Đây là cách tối ưu nhất giúp Cloudflare tự động xây dựng và triển khai lại mỗi khi có thay đổi. Người dùng có thể tham khảo hướng dẫn chi tiết bằng hình ảnh tại địa chỉ https://huilang.me/cf-server-monitor-setup/.

Phương thức 2: Tự động hóa qua GitHub Actions. Phù hợp cho những ai muốn quy trình xây dựng nằm hoàn toàn trên GitHub. Đẩy mã nguồn lên nhánh chính (main branch) sẽ kích hoạt quy trình tự động, hoặc người dùng có thể chạy thủ công luồng công việc ‘Deploy to Cloudflare Workers’. Dự án cũng hỗ trợ biên dịch giao diện trực tiếp lên GitHub Pages thông qua tệp cấu hình .github/workflows/deploy-github-page.yml để tổng hợp dữ liệu từ các Worker từ xa.

Lưu ý quan trọng sau khi cài đặt: Sau khi đăng nhập hệ thống lần đầu tiên, người dùng cần thay đổi ngay tên đăng nhập và mật khẩu quản trị. Mật khẩu quản trị này có thể thiết lập độc lập với khóa bảo mật API_SECRET dùng để xác thực dữ liệu gửi lên từ các Agent.

Đối với việc cài đặt Agent trên các máy chủ mục tiêu, quản trị viên nên tạo trực tiếp lệnh cài đặt từ trang quản trị của hệ thống. Trang quản trị sẽ tự động tạo ra câu lệnh hoàn chỉnh dựa trên cấu hình hệ điều hành mục tiêu, ID máy chủ, địa chỉ URL của Worker và các tham số như card mạng hay khoảng thời gian báo cáo. Agent sử dụng hai tham số chính để điều phối hoạt động: -collect_interval để kiểm soát tần suất thu thập dữ liệu cục bộ và -interval để xác định tần suất gửi dữ liệu lên Cloudflare Workers. Tần suất gửi càng cao thì lượng yêu cầu đến Workers và số lượt ghi vào cơ sở dữ liệu D1 càng lớn.

Đề cao tính an toàn và bảo mật hệ thống

Một trong những ưu điểm lớn nhất của CF-Server-Monitor so với các hệ thống giám sát truyền thống là tính bảo mật ưu tiên:

  • Giao tiếp một chiều (Unidirectional): Agent cài trên máy chủ chỉ có nhiệm vụ gửi thông số lên Cloudflare. Dự án hoàn toàn không hỗ trợ các tính năng điều khiển ngược như WebSSH, thực thi lệnh từ xa hay mở kênh kiểm soát ngược từ máy chủ tổng. Điều này loại bỏ hoàn toàn nguy cơ máy chủ bị chiếm quyền điều khiển thông qua lỗ hổng của công cụ giám sát.
  • Hỗ trợ quyền phi root: Trên các môi trường Linux hỗ trợ systemd --user, người dùng có thể cài đặt Agent mà không cần quyền root (sử dụng tài khoản hiện tại hoặc tài khoản chuyên dụng cfsm tự động tạo). Các tệp tin cấu hình sẽ được lưu trong thư mục người dùng ~/.cf-probe/.
  • Các lá chắn bảo mật bổ sung: Hệ thống tích hợp sẵn Cloudflare Turnstile để chống spam API và ngăn chặn dò quét mật khẩu tại trang đăng nhập. Ngoài ra, cơ chế Content Security Policy (CSP) được thiết lập rất nghiêm ngặt; mọi tài nguyên bên ngoài như hình nền, CSS/JS, phông chữ hay kết nối WebSocket đều phải được khai báo thủ công trong danh sách trắng (whitelist) của trang quản trị mới có thể hoạt động.

Tiện ích bổ sung và hệ thống cảnh báo linh hoạt

Dù là một giải pháp nhẹ, dự án vẫn trang bị đầy đủ các tính năng hiện đại để tối ưu hóa trải nghiệm người dùng. Hệ thống hỗ trợ một đoạn mã tiện ích iOS tại đường dẫn scripts/ios-scriptable-widget.js. Khi cài đặt thông qua ứng dụng Scriptable trên iPhone, người dùng có thể theo dõi trực tiếp trạng thái của một máy chủ ngay trên màn hình chính với đầy đủ thông số: CPU, RAM, dung lượng đĩa cứng, lưu lượng mạng hàng tháng, tốc độ băng thông thời gian thực và thời gian cập nhật gần nhất.

Về khả năng cảnh báo, hệ thống cho phép cấu hình tại mục ‘Cài đặt chung -> Thông báo’. Quản trị viên có thể chọn giữa các kênh thông báo tích hợp sẵn hoặc sử dụng ‘Custom Webhook’. Khi kích hoạt Custom Webhook, hệ thống sẽ chuyển toàn bộ dữ liệu cảnh báo qua luồng tùy chỉnh này và ngưng gọi các kênh mặc định.

Những khía cạnh cần lưu ý thêm

Mặc dù CF-Server-Monitor mang lại một giải pháp giám sát miễn phí cực kỳ mạnh mẽ nhờ hạ tầng Cloudflare, người dùng vẫn cần lưu ý một số điểm chưa được làm rõ chi tiết trong tài liệu của dự án. Tài liệu hiện tại chưa đề cập cụ thể về giới hạn tải thực tế của cơ sở dữ liệu Cloudflare D1 và giới hạn thời gian CPU (CPU time) của Workers gói miễn phí khi phải xử lý đồng thời hàng trăm máy chủ gửi dữ liệu liên tục với khoảng thời gian ngắn. Do đó, người dùng sở hữu lượng lớn máy chủ cần cân nhắc điều chỉnh tham số -interval hợp lý để tránh vượt quá hạn ngạch sử dụng miễn phí của Cloudflare.

Nguồn tham khảo: Xem bài gốc

📆
Âm Lịch: 17/8
Giáp Thìn

📆 Lịch Âm Dương NsN

×
Hôm Nay - Chủ Nhật
Âm Lịch: 17 Tháng 8
Năm Bính Ngọ
📌 Ngày Can Chi: Giáp Thìn
✨ Giờ Hoàng Đạo: Dần (3-5), Thìn (7-9), Tỵ (9-11), Thân (15-17), Dậu (17-19), Hợi (21-23)
Vĩnh Phúc (Liên Bảo - Vĩnh Yên)
27°C
Nắng Đẹp
💧 89% | 💨 15 km/h
Hôm nay 32°
28/09 33°
29/09 34°
30/09 33°
01/10 31°