念念舒的数字花园
博客随笔搜索归档装备传送门关于
首页博客随笔归档关于

我用 Cloudflare 免费撸了一个高颜值的网站监控系统

2025-11-23
2390 字
5 分钟
...
#Cloudflare#Workers#Vue3#监控#开源
文章目录
  • ✨ 预览效果
  • 📱 移动端 & 桌面端 (深色模式)
  • 🔔 钉钉告警 (Markdown 格式)
  • 💻 管理后台 (Dashboard)
  • 🛠️ 为什么选择这个方案?
  • ⚙️ 技术栈一览
  • 🚀 怎么部署?(保姆级教程)
  • 第一步:准备工作
  • 第二步:克隆代码 & 初始化数据库
  • 第三步:配置后端
  • 第四步:部署后端
  • 第五步:部署前端
  • 📝 写在最后

前言:作为一个“松鼠党”站长,手里总有一堆域名和吃灰的小鸡(服务器)。经常是网站挂了几天才发现,或者 SSL 证书过期了被浏览器拦截,甚至域名忘记续费被抢注…… 😭 市面上的 Uptime Robot 等服务,免费版限制多,频率低,而且 SSL/域名监控通常是收费功能。

于是,我利用 Cloudflare Workers + D1 + Pages 全家桶,手搓了一个 零成本、高颜值、功能全 的监控系统 —— Uptime Monitor。


✨ 预览效果

先看成品,颜值即正义!😎

📱 移动端 & 桌面端 (深色模式)

演示地址:https://uptime.nianshu2022.cn

🔔 钉钉告警 (Markdown 格式)

告警信息包含:状态码、耗时、失败原因,一目了然。

💻 管理后台 (Dashboard)

安全、简洁、好用。


🛠️ 为什么选择这个方案?

  1. 💰 完全免费:利用 Cloudflare 强大的免费额度(Workers 每天 10万次请求,D1 数据库免费读写),对于个人监控几十个网站绰绰有余。
  2. 🌍 全球节点:Cloudflare 的边缘网络天然适合做监控,网络连通性好。
  3. 🔒 全能监控:
    • HTTP/HTTPS 通断检测 (支持自定义 Status Code 判断)
    • SSL 证书有效期检测 (每日自动检查,支持泛域名证书!)
    • 域名注册过期检测 (防止域名由于健忘被回收)
  4. 🤖 灵活告警:目前接入了 钉钉群机器人,支持 Markdown 格式,不仅告诉你挂了,还告诉你为什么挂了(超时/500/证书过期)。
  5. 🎨 现代化 UI:Vue 3 + TailwindCSS 打造,支持 Dark Mode,手机端适配完美,这不比 Uptime Robot 的默认页好看?

⚙️ 技术栈一览

  • 后端 Runtime: Cloudflare Workers (基于 Hono 框架,轻量极速)
  • 数据库: Cloudflare D1 (基于 SQLite 的边缘数据库,存储监控配置和日志)
  • 前端托管: Cloudflare Pages (极速静态资源分发)
  • 前端框架: Vue 3 (CDN 引入,无构建烦恼) + TailwindCSS

🚀 怎么部署?(保姆级教程)

项目已开源,欢迎 Star ⭐: 👉 GitHub: https://github.com/nianshu2022/Uptime-Monitor

第一步:准备工作

你需要一个 Cloudflare 账号,并在本地安装好 Node.js 和 Wrangler CLI。

第二步:克隆代码 & 初始化数据库

git clone https://github.com/nianshu2022/Uptime-Monitor.git
cd uptime

# 登录 Cloudflare
npx wrangler login

# 创建数据库
npx wrangler d1 create uptime-db
# (记下控制台返回的 database_id)

第三步:配置后端

修改 worker/wrangler.toml,填入你的 database_id。

然后初始化表结构:

cd worker
npx wrangler d1 execute uptime-db --remote --file=schema.sql
# 执行迁移脚本
npx wrangler d1 execute uptime-db --remote --file=migration_add_expiry.sql
npx wrangler d1 execute uptime-db --remote --file=migration_add_ua.sql

第四步:部署后端

你需要先去钉钉群设置一个机器人,获取 Access Token 和 Secret。

# 部署到 Cloudflare
npx wrangler deploy

(建议在 Cloudflare Dashboard 后台配置钉钉 Token 环境变量,更安全)

第五步:部署前端

修改 frontend/index.html 里的 API_BASE 为你的 Worker 地址(强烈建议绑定自定义域名,防墙)。

cd frontend
npx wrangler pages deploy . --project-name uptime-monitor

搞定!🎉


📝 写在最后

这个项目最初只是为了解决我自己的痛点,没想到做着做着功能越来越全。 如果你也有服务器、域名需要监控,或者想学习 Cloudflare Workers 开发,欢迎来玩!

如果有任何问题或建议,欢迎提 Issue 或 PR。 别忘了给个 Star ⭐️ 鼓励一下作者哦!

GitHub: https://github.com/nianshu2022/Uptime-Monitor

Blog: https://blog.nianshu2022.cn

© 念舒·CC BY-NC-SA 4.0

转载请注明:blog.nianshu2022.cn/blog/uptime-monitor-guide

Continue Reading
上一篇
Windows 离线安装 Docker Desktop 完全指南(含常见报错解决)
下一篇
企业微信实现情侣每日定时推送全攻略!

相关推荐

2026-03-23

白嫖 Cloudflare:零成本网站监控 Uptime Monitor 迎来史诗级 V2.0 重构!

纯白嫖 Cloudflare 全家桶(Workers + D1 + Pages)的零成本网站监控系统 Uptime Monitor V2 重磅更新!现在支持飞书/TG/企业微信/Webhook 多渠道告警、高级请求配置、标签分类、事件公告栏以及导入导出功能。

7 分钟阅读
2026-05-10

抛弃内网穿透与动态域名!用 Cloudflare Tunnel + Zero Trust 优雅且安全地接入 Homelab 边缘设备

没有公网 IP,也不想在路由器暴露危险端口?本文手把手教你利用 Cloudflare Tunnel 穿透 NAT,配合 Cloudflare Zero Trust 构建单点登录(SSO)防护墙,优雅无感地接入内网监控及 NAS 设备。

8 分钟阅读

目录

  • ✨ 预览效果
  • 📱 移动端 & 桌面端 (深色模式)
  • 🔔 钉钉告警 (Markdown 格式)
  • 💻 管理后台 (Dashboard)
  • 🛠️ 为什么选择这个方案?
  • ⚙️ 技术栈一览
  • 🚀 怎么部署?(保姆级教程)
  • 第一步:准备工作
  • 第二步:克隆代码 & 初始化数据库
  • 第三步:配置后端
  • 第四步:部署后端
  • 第五步:部署前端
  • 📝 写在最后
回到顶部去评论