免费玩转Cloudflare-11:白嫖Cloudflare免费额度,我给自己搭了个服务器监控

手里服务器一多,监控这事儿就头疼。

阿里云一台,腾讯云一台,Vultr上还挂着一台吃灰的小鸡。

你总不能每天挨个SSH上去看负载吧?

市面上的方案不是没有。UptimeRobot、Better Uptime,注册个账号就能用,免费版监控个五六台也够。

但吧,数据搁别人那儿,告警通道也就那么几个,总归不痛快。

然后我就发现了这玩意儿——CF-Server-Monitor

一句话总结:用Cloudflare的免费套餐,给自己搭一套完整的服务器监控系统。

它是怎么跑起来的
打开网易新闻 查看精彩图片
它是怎么跑起来的

架构不复杂,但挺巧妙的。

后端逻辑跑在Cloudflare Workers上,数据存D1,实时状态用Durable Objects管理。每台被监控的服务器上装个探针,定时把CPU、内存、磁盘、网络流量这些数据上报上去。

关键点来了:全程跑在Cloudflare的免费额度里。

Workers每天10万次请求,D1每天500万行读取,Durable Objects的免费额度对个人用户也绰绰有余。监控个十几台服务器,一分钱不花。

不是试用,是正儿八经的免费。

实图

探针安装,一行命令的事
打开网易新闻 查看精彩图片
探针安装,一行命令的事

探针的兼容性是我比较惊喜的地方。

Linux、Alpine Linux、Windows都能跑,这不算稀奇。

稀奇的是它支持OpenWrt

玩软路由的朋友都知道,大部分监控方案的探针在路由器上根本装不了。这个能装,而且是唯一一个我见过的免费方案。

安装方式也简单,一行curl命令,下载探针脚本,注册成系统服务,完事。

Ubuntu上我试了,不到两分钟搞定。

功能特点

  • 实时监控:CPU、GPU、内存、磁盘、网络、进程数、连接数、负载均衡

  • 历史图表:支持 7 天历史数据查看

  • 全球地图:可视化展示服务器分布

  • 离线告警:支持 Telegram、企业微信 / 飞书 / Bark / 钉钉 / OneBot 通知

  • 响应式:支持桌面端和移动端

  • 自动部署:GitHub Actions 一键部署

  • • ️网络质量追踪:国内电信/联通/移动/字节延迟与丢包率监测

  • 服务器隐藏:可设置特定服务器对非登录用户隐藏

  • • ↕️拖拽排序:后台拖拽调整服务器显示顺序

  • 双语支持:支持中文和英文界面自由切换

  • 多站点支持:可配置多个 API 站点聚合展示,详情页与后台按站点独立访问

  • 本地测试:支持本地模拟数据生成,方便开发和测试

  • Turnstile 验证:集成 Cloudflare Turnstile 人机验证,增强 API 安全性

  • JWT 认证:登录系统采用 JWT token 认证,支持自定义密钥

  • • ️CSP 安全策略:默认限制第三方静态资源加载,可在后台按需添加可信白名单

  • 主题商店:后台可选择第三方主题和版本,Workers 仅反代主题index.htmlassets/

  • 额度查询:后台可查询 Cloudflare D1 与 Workers 当日/昨天用量

  • • ⚡实时推送:基于 Durable Objects + WebSocket,探针上报后页面立即刷新,无轮询延迟

CloudFlare部署 部署服务端 前置要求

需要注册以下账户

Cloudflare 账户

GitHub 账户

方式一:Cloudflare Workers 连接GitHub仓库(推荐使用,方便同步)图文教程 -> https://huilang.me/cf-server-monitor-setup/

第一步:Fork 项目

打开:https://github.com/huilang-me/CF-Server-Monitor

点击右上角Fork按钮,将项目 Fork 到你的 GitHub 账户。

第二步:新建 Cloudflare Workers

登录 Cloudflare 控制台

进入Workers & Pages

点击Create application

打开网易新闻 查看精彩图片

选择 Continue with GitHub(第一次使用需要连接 GitHub 账户),选择本项目

打开网易新闻 查看精彩图片

填写信息

  1. 1. Project Name填写:cf-server-monitor

  2. 2. Build command 填写:npm run build:frontend

  3. 3. Deploy command 保留默认值:npx wrangler deploy

  4. 4. 点击Deploy,成功会在底部显示✨ Success! Build completed.

打开网易新闻 查看精彩图片

把非生产分支勾选到

第三步:配置环境变量 添加秘钥API_SECRET
打开网易新闻 查看精彩图片
第三步:配置环境变量 添加秘钥API_SECRET

1. 在当前Workers & Pages页面,点击Settings

  • 2. 在Variables and secrets找到API_SECRET,点右侧编辑,填写密码(建议使用随机数,不要包含特殊字符比如%),点Deploy保存部署,等待30秒左右部署完成

  • 打开网易新闻 查看精彩图片

    填写完之后,如图要把“文本”改成秘钥

    域名访问
    打开网易新闻 查看精彩图片
    域名访问
    打开网易新闻 查看精彩图片
    打开网易新闻 查看精彩图片

    添加定时任务

    新版cloudflare会丢失触发事件,临时手动添加一下,滚动当前页面到触发事件(后续Cloudflare可能会修复,已提交issue)

    打开网易新闻 查看精彩图片

    新建两个Cron触发器,分别是每分钟1次和每小时一次

    打开网易新闻 查看精彩图片

    最终cron效果

    第四步:域名和后台配置 查看域名和绑定域名
    打开网易新闻 查看精彩图片
    第四步:域名和后台配置 查看域名和绑定域名

    点击顶部的,可用查看项目域名,比如我这个的cf-server-monitor.song-ade.workers.dev

    这里在右下角可用绑定你自己的域名(默认的域名部分地区可能不能访问。有自己域名的,建议绑定一个)

    打开网易新闻 查看精彩图片

    访问这个域名,会看到成功部署了,至此Cloudflare Workers部署完成。

    第五步:后台管理与设置

    访问后台地址/admin, 默认用户名admin,默认密码是刚才API_SECRET的值。

    打开网易新闻 查看精彩图片

    第一次设置请修改用户名和密码,强烈建议设置JWT密钥。其他选项可用根据需求进行设置,Turnstile以及Cloudflare设置等高级用法在后面补充。

    添加服务器

    在服务器tab添加服务器名称和分类名称,点添加服务器

    打开网易新闻 查看精彩图片

    添加完,可用点右侧的编辑,根据实际进行修改

    打开网易新闻 查看精彩图片
    打开网易新闻 查看精彩图片

    保存后,点刚才编辑按钮左侧的复制按钮,会出来一个弹窗

    打开网易新闻 查看精彩图片

    这里根据需要选择系统,如果需要校正月流量,在这里填写,然后点复制命令。

    curl -sL https://你的域名/install.sh | bash -s install xxx

    将你复制出来的命令粘贴在你的服务器上运行即可(需要root权限)。

    我实际部署的感受

    Workers那边配置跟着文档走,半小时搞定,不算复杂。

    数据从探针到Workers的延迟大概5秒左右。不算严格意义上的"实时",但日常监控完全够用,又不是做交易。

    整体体验就是:轻量、够用、不折腾。

    说几句不足

    不吹不黑,局限性也摆在这儿:

    • 绑定Cloudflare生态。你不用CF,这套方案跟你没关系。

    • • 免费额度够个人用,但要是监控几十台,大概率得掏钱升级。

    • • 数据虽然比扔给第三方SaaS强,但毕竟存在Cloudflare上,不算完全自主可控。

    • • 告警渠道目前就Telegram和邮件,想要企业微信、钉钉的得等更新。

    到底适合谁

    个人开发者,或者三五人的小团队。

    手里有几台分散在不同厂商的服务器,想监控但不想花钱,也不想把数据交给第三方。

    尤其是OpenWrt用户,真心推荐,这可能是你目前唯一的选择。

    项目地址:https://github.com/huilang-me/CF-Server-Monitor

    目前1.2k+star,不算火,但东西确实实用。

    白嫖Cloudflare的免费额度干正事,这才是正确打开方式。

    我是星哥,一个喜欢折腾云服务的普通人。觉得有用的话,点个在看,下期见。