本文为CF-Server-Monitor 项目安装教程。
前提:Cloudflare有效账户,GitHub账户
1.Fork项目
打开项目地址CF-Server-Monitor ,老规矩,右上角来个Star,然后点Fork

点右下角Create fork。
2.创建应用程序
打开Cloudflare Workers & Pages (右上角头像可用修改语言为中文,下面以中文界面来介绍),点击右上角创建应用程序

选择Continue with GIthub,如果还没绑定过GitHub,需要在下拉点Add GitHub Account绑定。选择CF-Server-Monitor,点下一步

项目名称填 cf-server-monitor ,构建命令和部署命令分别填
npm run build:frontend
npx wrangler deploy

点击部署后,会显示 “正在设置您的存储库。这可能需要几秒钟时间... ”,然后可用看到部署流程,大概30秒左右后部署成功

3. 设置环境变量
滚动回顶部,点击上面的设置,在变量和密钥的右侧点击添加。

在出来的弹窗,变量名称填 API_SECRET ,值填写密码(建议使用随机数,不要包含特殊字符比如%#),需要记住一次,然后点右下角添加变量,等待几秒即可。

下拉到下方触发事件,会显示两个定时任务(如果没有估计前面步骤不对,或者账户有问题)

4. 查看域名和绑定域名
点击顶部的域,可用查看项目域名,比如我这个的cf-server-monitor.dashworkers.workers.dev,这里在右下角可用绑定你自己的域名(默认的域名部分地区可能不能访问。有自己域名的,建议绑定一个)

访问这个域名,会看到成功部署了,至此Cloudflare Workers部署完成。
5. 后台管理与设置
访问后台地址/admin, 默认用户名admin,默认密码是刚才API_SECRET的值。

第一次设置请修改用户名和密码,强烈建议设置JWT密钥。其他选项可用根据需求进行设置,Turnstile以及Cloudflare设置等高级用法在后面补充。
6. 填加服务器
在服务器tab添加服务器名称和分类名称,点添加服务器

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


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

这里根据需要选择系统,支持systemd的系统建议安装用户下拉选择专用cfsm用户,非root用户安装,安全性更高(root下执行,会自动新建非root用户并安装)
7. 高级用法
7.1 启用Turnstile(Cloudflare盾)
访问Turnstile,点击手动添加小部件。小组件名称随便填,注意下面的添加主机,需要填上域名比如默认的workers.dev,如果有自定义域名,在这里一定要添加上(这里以example.com演示),其他默认,滚动到底部点击右下角创建。

保存后会出来站点密钥和密钥。将这两个值对应粘贴回刚才探针后台,并勾选启用 Turnstile后保存即可。


保存后,成功开启Cloudflare护盾

7.2 Cloudflare额度设置
打开 Cloudflare Dashboard在右下角获取Account ID,填入探针设置选项的Cloudflare Account ID

访问 用户令牌 ,点击右上角创建令牌。权限选择 账户 - 账户分析 - 读取

复制这个令牌,粘贴到探针后台的Cloudflare API Token选项


点击右下角保存。保存成功后,点击查询当日D1 & Workers用量,

以上是我10台服务器,设置了1秒采样,60秒上报,1秒Wss上报,24小时开启Wss的消耗,理论上支持100台服务器
免费额度说明参考:Cloudflare 免费额度下 CF Server Monitor Agent 数量估算
8. 版本升级
8.1 手动升级
Workers升级:进入你自己的Fork后的GitHub项目地址,点击 Sync fork → Update branch 同步上游更新,Cloudflare Workers 会自动检测到代码变更并重新部署。
如果你修改过文件,可用选择放弃修改再同步(点击Discard 1 commit)

同步成功后,等30多秒后会自动更新到Workers上。
agent升级:
curl -fsSL https://raw.githubusercontent.com/huilang-me/cfsm-agent/main/install.sh | sh -s -- install
8.2 自动升级
Workers自动升级
启用自动同步功能,系统会每天自动同步上游仓库的最新代码:
- 进入你 Fork 的 GitHub 仓库页面
- 点击 Actions 标签
- 首次使用时,点击 "I understand my workflows, go ahead and enable them" 启用 Actions
- 找到 Upstream Sync 工作流,点击进入
- 点击 Run workflow 手动触发一次,确认同步正常工作
启用后,系统每天 (北京时间 8:00-12:00点之间)会自动检测上游仓库是否有新提交,有则自动合并到你的 main 分支。
注意:如果同步失败,提示"由于上游仓库的 workflow 文件变更,导致 GitHub 自动暂停了本次自动更新",请参考8.1手动升级触发一次,后续会继续启用自动更新。
9:注意事项
如果workers消耗额度非常高,先排查绑定的域名是否之前部署过其他探针,其他探针有没有正确卸载,如果没有,会造成频繁请求,持续循环消耗,一般来说,开启了Wss之后,访问量不大的情况下,workers请求数支持足够支持近100台服务器
如果同步了GitHub,但CF Workers并没更新,请先检查https://github.com/settings/installations中Cloudflare Workers and Pages的权限有没有包含这个项目,没有的话,加上授权。如果还是不行,到CF Workers 本项目后台,设置下面的Git 存储库重新连接GitHub项目。如果还是不行,检查CF Workers 本项目后台,设置下方的API 令牌是否有权限
有其他异常,可以加telegram群组反馈,反馈前请切换到原皮测试,如果是第三方主题问题,请反馈给主题作者
# 第一步:创建专用用户
id cfsm >/dev/null 2>&1 || useradd -m -s /bin/bash cfsm; loginctl enable-linger cfsm; UIDN=$(id -u cfsm); systemctl start user@${UIDN}.service
# 第二步:以 cfsm 权限安装
UIDN=$(id -u cfsm); runuser -u cfsm -- env HOME=/home/cfsm XDG_RUNTIME_DIR=/run/user/$UIDN DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$UIDN/bus sh -c "curl -fsSL | sh -s -- install "