免费玩转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.html与assets/•额度查询:后台可查询 Cloudflare D1 与 Workers 当日/昨天用量
• ⚡实时推送:基于 Durable Objects + WebSocket,探针上报后页面立即刷新,无轮询延迟
需要注册以下账户
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. Project Name填写:
cf-server-monitor2. Build command 填写:
npm run build:frontend3. Deploy command 保留默认值:
npx wrangler deploy4. 点击Deploy,成功会在底部显示
✨ Success! Build completed.
把非生产分支勾选到
![]()
第三步:配置环境变量 添加秘钥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的免费额度干正事,这才是正确打开方式。
我是星哥,一个喜欢折腾云服务的普通人。觉得有用的话,点个在看,下期见。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.