Overview
CF-Server-Monitor is a lightweight, multi-server monitoring dashboard that runs entirely on Cloudflare Workers, D1, and Durable Objects. You install a small agent on each server; it reports metrics one-way to your Worker, which stores them in D1 and streams live updates to the dashboard over WebSockets through Durable Objects.
Because everything is hosted on Cloudflare, you can monitor a fleet of servers for free and with almost no maintenance. The project’s documentation is primarily in Chinese.
Why It Stands Out
- Free hosting: dashboard, API, database, and real-time push all run on Cloudflare’s free tier — around 60 servers at the default 60-second reporting interval, and roughly double that at 120 seconds
- Security-first agent: reporting is one-way only — no web SSH, no remote command execution, no control channel — and the agent can run as a non-root user
- Remote configuration: change ping targets, collection intervals, and traffic settings from the dashboard; agents pick them up automatically
- Clock correction: the Go agent aligns sample timestamps with the Worker’s clock, so a server with the wrong local time won’t distort charts
Key Features
| Area | Capabilities |
|---|---|
| Live metrics | CPU, GPU, memory, swap, disk and disk I/O, network, connections, processes, load, uptime |
| History | 7-day charts, real-time bandwidth, monthly traffic totals with correction |
| Network quality | Latency and packet-loss tracking to multiple carrier and BGP nodes |
| Views | Bar, ring, table, and world-map layouts for desktop and mobile |
| Admin | Add, edit, reorder, hide, import/export, and bulk-manage servers |
| Alerts | Offline and recovery alerts, resource thresholds, and expiry reminders |
| Notifications | Telegram, WeCom, Feishu, DingTalk, SMTP email, or custom webhooks |
| Extras | Themes and a theme store, Chinese/English UI, iOS Scriptable widget, static front end on GitHub Pages |
Supported Agent Platforms
Mainstream Linux distributions, Alpine, OpenWrt, Synology DSM, fnOS, FreeBSD, macOS, and Windows — plus a Docker image. The default agent is written in Go, with Shell and PowerShell versions still available.
Getting Started
Deploy the Worker in one of three ways:
- Connect the GitHub repository to Cloudflare Workers and let Cloudflare build it
- GitHub Actions automated deployment
- One-click deploy button
Then sign in to the admin dashboard, add a server, and run the generated install command on that machine to start reporting.
License
MIT License.