用cloudflare worker搭建 vps探针+网站检测 面板 免服务器
用cloudflare worker搭建 vps探针+网站检测 面板,部署简单,不需要服务器,只需要一个cf账号。
写在前面:这个项目只是抛砖引玉,大家玩玩就好,千万不要当主力探针使用!本人非程序员,能力有限,有实力大佬们可以多多接力。
体验地址:https://vps-monitor.abo-vendor289.workers.dev/
项目地址:https://github.com/kadidalax/cf-vps-monitor
自己用manus和roo code鼓捣出来的小玩意,欢迎star。
前端:
后台:
VPS端:
VPS 监控面板 (Cloudflare Worker + D1 版) - 部署指南
这是一个部署在 Cloudflare Workers 上的简单 VPS 监控面板,使用 Cloudflare D1 数据库存储数据。本指南将引导你通过 Cloudflare 网页控制面板 完成部署,无需使用命令行工具。
先决条件
- 一个 Cloudflare 账户。
部署步骤
1. 创建 D1 数据库
你需要一个 D1 数据库来存储面板数据(服务器列表、API 密钥、监控数据等)。
- 登录 Cloudflare 控制面板。
- 在左侧菜单中,找到并点击
存储和数据库
。 - 在下拉菜单中,选择
D1 SQL 数据库
。 - 点击
创建数据库
。 - 为数据库命名(例如
vps-monitor-db
),然后点击创建
。 - 重要:初始化数据库表
- 数据库创建后,你会看到数据库的概览页面。点击
控制台
标签页。 - 复制下面的第一段 SQL 命令,粘贴到控制台的输入框中,然后点击
执行
:
CREATE TABLE IF NOT EXISTS admin_credentials ( username TEXT PRIMARY KEY, password TEXT NOT NULL );
- 复制下面的第二段 SQL 命令,粘贴并点击
执行
:
CREATE TABLE IF NOT EXISTS servers ( id TEXT PRIMARY KEY, name TEXT NOT NULL, description TEXT, api_key TEXT NOT NULL UNIQUE, created_at INTEGER NOT NULL, sort_order INTEGER );
- 复制下面的第三段 SQL 命令,粘贴并点击
执行
:
CREATE TABLE IF NOT EXISTS metrics ( server_id TEXT PRIMARY KEY, timestamp INTEGER, cpu TEXT, memory TEXT, disk TEXT, network TEXT, FOREIGN KEY(server_id) REFERENCES servers(id) ON DELETE CASCADE );
- 现在你的数据库表结构已经准备好了。
- 数据库创建后,你会看到数据库的概览页面。点击
2. 创建并配置 Worker
接下来,创建 Worker 并将代码部署上去。
- 在左侧菜单中,点击
计算(Workers)
,选择Workers & Pages
。 - 在概览页面,点击
创建
。 - 选择
Start with Hello World!
点击开始使用
。 - 为你的 Worker 命名(例如
vps-monitor-worker
),确保名称可用。 - 点击
部署
。 - 部署完成后,点击
编辑代码
进入 Worker 编辑器。 - 删除编辑器中现有的所有代码。
- 打开本仓库的
worker.js
文件,复制其全部内容。 - 将复制的代码粘贴到 Cloudflare Worker 编辑器中。
- 点击编辑器右上角的
部署
按钮。
3. 绑定 D1 数据库到 Worker
Worker 需要访问你之前创建的 D1 数据库。
- 在 Worker 的管理页面(编辑代码页面上方有 Worker 名称,点击它可以返回管理页面),选择
设置
标签页。 - 在设置页面中,选择
绑定
子菜单。 - 选择
D1数据库
。 - 在
变量名称
处输入DB
(必须大写)。 - 在
D1 数据库
下拉菜单中,选择你之前创建的数据库 (例如vps-monitor-db
)。 - 点击
部署
。
4. 设置触发频率(检测网站用)
- 在 Worker 的管理页面选择
设置
标签页。 - 在设置页面中,选择
触发事件
子菜单。 - 点击
添加
,选择Cron触发器
。 - 选择
计划
,执行 Worker 的频率选择小时
,下面的框填入1(即每整点检测一次网站)。 - 点击
添加
。
5. 访问面板
部署和绑定完成后,你的监控面板应该可以通过 Worker 的 URL 访问了。
- 在设置页面你会看到一个
.workers.dev
的 URL,例如vps-monitor.abo-vendor289.workers.dev
。 - 在浏览器中打开这个 URL,你应该能看到监控面板的前端界面。
使用面板
1. 初始登录
- 访问你的 Worker URL。
- 点击页面右上角的
登录
或直接访问/login
路径 (例如https://vps-monitor.abo-vendor289.workers.dev/login
)。 - 使用默认凭据登录:
- 用户名:
admin
- 密码:
admin
- 用户名:
- 登录后,建议立即修改密码。
2. 添加服务器
- 登录后台后,你应该会看到管理界面。
- 找到添加服务器的选项。
- 输入服务器的名称和可选的描述。
- 点击
保存
。 - 面板会自动生成一个唯一的
服务器 ID
和API 密钥
。请记下这个 服务器ID 和 API 密钥,部署 Agent 时需要用到。
3. 部署 Agent (探针)
Agent 是一个需要在你的 VPS 上运行的脚本,用于收集状态信息并发送回面板。
有两种方式安装Agent脚本:
第一种是直接从后台复制带有参数的命令一键安装(推荐)
第二种是:下载脚本并运行:
wget https://raw.githubusercontent.com/kadidalax/cf-vps-monitor/main/cf-vps-monitor.sh -O cf-vps-monitor.sh && chmod +x cf-vps-monitor.sh && ./cf-vps-monitor.sh
或者下载脚本并运行:
curl -O https://raw.githubusercontent.com/kadidalax/cf-vps-monitor/main/cf-vps-monitor.sh && chmod +x cf-vps-monitor.sh && ./cf-vps-monitor.sh
- 安装需要
API密钥
服务器ID
你的worker网址
和上报间隔
(和后台的更新频率设置最好保持一致)` - 可以在后台点击
查看密钥
来获取上述前三个参数 - 按照提示输入安装完成后,Agent 会开始定期向你的面板发送数据。你应该能在面板上看到对应服务器的状态更新。
4. Agent 管理
安装脚本本身也提供了管理功能:
- 安装服务:
- 卸载服务:
- 查看状态:
- 查看日志:
- 停止服务:
- 重启服务:
- 修改配置:
5. 添加检测网站
- 登录后台后,你应该会看到管理界面。
- 点击
添加监控网站
。 - 输入
网站名称(可选)
和网站URL 如(https://example.com)
。 - 点击
保存
。
6. 配置Telegram 通知
- BotFather创建bot并获取
Bot Token
。 @userinfobot
获取自己的ID
。- 将上述两项分别填入。
- 启用通知,点击
保存Telegram设置
。
注意事项
- Worker 和 D1 每日配额: Cloudflare Worker 和 D1 免费额度有限。详情请查阅 Cloudflare 文档。
- 安全性: 默认密码
admin
非常不安全,请务必在首次登录后修改。Agent 使用的 API 密钥也应妥善保管。 - 错误处理: 如果面板或 Agent 遇到问题,可以检查 Worker 的日志(在 Cloudflare 控制面板 Worker 页面)和 Agent 的日志。
- 以上所有内容和代码均为AI生成,出现问题请直接拿着代码找AI吧。
版权声明:
作者:pddpdd
链接:https://pddpdd.cn/563.html
文章版权归作者所有,未经允许请勿转载。
THE END