想监控服务器,但不想再买一台服务器

运维监控有个悖论:为了不让服务器挂掉,你得先有一台不会挂的监控服务器。Zabbix、Prometheus 这些工具功能强大,但都需要一台独立的服务器来跑。如果监控服务器自己先挂了,告警也收不到。

CF-Server-Monitor 绕开了这个问题——它把监控后端直接放到 Cloudflare Workers 上,用 D1 做数据库,用 Durable Objects + WebSocket 做实时推送。整个监控系统不需要你维护任何服务器,Cloudflare 的免费额度就足够了。

CF-Server-Monitor 仪表盘

项目 288 Star,MIT 协议。作者从另一个开源项目 Fork 后做了深度二次开发,一直在持续迭代。

架构

整个系统分为三层:

  • 探针(客户端)——运行在被监控的服务器上,采集 CPU、内存、磁盘、网络、进程数等指标,定时上报。支持 Linux(systemd/OpenRC/procd)、Windows
  • Workers(后端)——接收上报数据,写入 D1 数据库,通过 Durable Objects 广播给所有连接的浏览器
  • Vue 3 前端——单页应用,包含仪表盘卡片视图、表格视图、地图视图、服务器详情页、管理后台

上报即推送——探针发数据上来,浏览器端 WebSocket 实时刷新,不需要轮询。

部署(免费)

前提:有一个 Cloudflare 账号和一个 GitHub 账号。

推荐方式:GitHub 连接部署

  1. Fork 项目到自己的 GitHub
  2. Cloudflare Workers & Pages → Create → "Continue with GitHub",选你 Fork 的项目
  3. Project Name 填 cf-server-monitor
  4. Build command 填 npm run build:frontend
  5. 部署完成后在 Settings → Variables 添加 API_SECRET(你的密码)
  6. 重新部署,等 30 秒

之后通过 你的项目名.你的子域.workers.dev/admin 进入后台,默认密码就是你设的 API_SECRET。

优点:Cloudflare 会自动检测 GitHub 代码变更并重新部署,升级很方便。

替代方式:GitHub Actions

如果有更多自定义需求,可以在 Fork 仓库里配置 Actions Secrets 然后通过 GitHub Actions 自动部署。

添加服务器

在管理后台点击「添加服务器」→ 填写名称 → 复制安装命令 → 在目标服务器上运行:

curl -sL https://你的域名.workers.dev/install.sh | bash -s install \
  -id= -secret= -url=

默认 60 秒上报一次。支持自定义上报间隔、Ping 检测方式、流量重置日等参数。

核心功能

仪表盘

访问根路径 workers.dev/ 看到所有服务器概览:

  • 卡片视图——每台服务器一张卡片,显示实时网速和本月流量
  • 表格视图——详细数据列表,适合多服务器对比
  • 地图视图——基于 Leaflet 的世界地图展示服务器分布
  • 国家筛选器——按国家过滤服务器

详情页

点击任意服务器,进入详情页:

  • 实时 CPU、内存、磁盘、网络、负载
  • 1/3/6/12/24 小时历史趋势图(Chart.js)
  • 国内三大运营商延迟追踪(电信/联通/移动 + 字节)

离线告警

支持两种渠道:

  • Telegram——通过 BotFather 创建机器人,配置 Token 和 Chat ID
  • 企业微信——创建群机器人,填入 Webhook URL 即可

管理后台

  • 服务器 CRUD + 拖拽排序
  • 服务器隐藏(对未登录用户不可见)
  • Turnstile 人机验证、JWT 密钥配置
  • 月流量统计
  • 数据库版本升级

D1 免费额度够用吗?

这是 Cloudflare Workers 方案最常被问到的问题。作者做了大量优化:

指标 单台/天(60s 间隔) 免费额度 可支持
写入行 ~2.88k 100k/天 约 34 台
读取行 ~1.6k(缓存后) 5M/天 非常充裕

超出额度不会扣费,只会限制访问,第二天自动重置。个人或小团队使用绰绰有余。

支持哪些系统?

系统 服务管理 安装方式
Ubuntu/Debian/CentOS/RHEL/Fedora systemd install.sh
Alpine Linux OpenRC install-alpine.sh
OpenWrt / LEDE procd install-openwrt.sh
Windows 后台运行 Python GUI

和类似工具对比

CF-Server-Monitor 哪吒监控 Zabbix
基础设施 Cloudflare Workers(免费) 需要 VPS 需要服务器
实时性 WebSocket 实时推送 轮询 轮询
国内延迟 三网追踪(内置) 需额外配置 需额外配置
部署复杂度 极低(点几下就行) 中等

我的看法

CF-Server-Monitor 是那种「把 Cloudflare 能力用到极致」的项目。Workers 做后端、D1 做数据库、Durable Objects 做实时推送、Turnstile 做验证——整套 Cloudflare 全家桶用得很到位。

它的最大优势就是零成本。对于有十几台服务器的个人站长或小团队来说,不用买 VPS 跑监控系统,直接在 Cloudflare 上搭一个,每个月账单是 0 元。

另外我对它的客户端支持印象深刻——从 Ubuntu 到 Alpine 到 OpenWrt 到 Windows,全都覆盖了。这在同类开源项目里很少见。

不足之处:没有组织/团队协作功能,告警渠道只有 Telegram 和企微(没有邮件/Slack/飞书),数据库用的是 D1 而不是更通用的方案。但这些对于个人用户来说都不是大问题。

如果你有服务器在跑、用 Cloudflare、不想再为监控多花一份服务器钱——这个项目值得一试。


项目地址:huilang-me/CF-Server-Monitor · 许可:MIT · 🌟 288 Stars(截至 2026-06-16)