发现新文章

我们已经通过 Google Adsense 审核!不出意外,在未开启广告拦截器的情况下,应该已经可以看到广告了

如果您对广告位置不满意(如:占据面积大,挡住主要内容等情况),请前往 置顶文章 告知我们!

741 字
4 分钟
超高校级的监控服务:UptimeFlare!基于CF Worker!自托管!声明式!新手友好!
谁不想拥有一个监控自己服务的服务呢?
2026年1月3日 11:10:53
0 次

从KV迁移#

由于原项目于26/1/3将数据存储从KV迁移到了D1,并且配备了完备的i18n,如果你仍在运营旧版的UptimeFlare,建议升级,下面是迁移教程

首先,将你之前配置的Cloudflare API令牌添加一个新的权限 编辑D1

然后备份根目录的 uptime.config.ts ,直接 把原仓库删了(但是不要删KV,Worker,Page),Fork我的仓库

afoim
/
UptimeFlare
Waiting for api.github.com...
00K
0K
0K
Waiting...

接下来编辑新的 uptime.config.ts

参阅 UptimeFlare/uptime.config.ts at main · afoim/UptimeFlare 主要就是将自定义callback迁移到官方的WebHook方法

编辑后推送,会自动触发Github Action的自动部署,它会自动将KV内的数据迁移到D1

这迁移到D1何意味

前言#

本来这个教程应该是永远都不会出的,因为在此之前,我曾经给大家介绍了一个无需自托管的监控服务:UptimeRobot

但是,就在最近我再次查看控制台,发现之前创建的监控全部都没了,咱也不知道是被官方删了还是号被黑客大手子肘击了,总之,我现在不得不要重建监控服务了

原理#

首先,UptimeFlare是一个基于Cloudflare Worker+D1的监控服务

它的原理非常简单,一共由三个部分组成

  • 前端:放在Cloudflare Page,用于给用户展示zhandianzhuangt
  • 后端:放在Cloudflare Worker,通过 Worker 自带的 Cron 每分钟 检查站点状态,并将状态持久化进 D1

正式开始#

首先我们需要 Fork 项目,建议Fork我的项目(由于原项目不知道为什么不给在某些地方注入环境变量,所以建议Fork我的)

afoim
/
UptimeFlare
Waiting for api.github.com...
00K
0K
0K
Waiting...

首先,我们先尝试将其部署到Cloudflare

创建一个Cloudflare API Token 编辑WorkersD1

接下来将该Token绑定到你的Github仓库

最后,来到 Action 页面,手动创建一个 Deploy to Cloudflare 的工作流

等待工作流运行结束,你应该可以在Cloudflare仪表板看见一个新的Page,新的Worker和新的D1

点开 Page,注意不要点错了

绑定你的域名,尝试访问

如果你能看到一个初始的监控页面,则正常

接下来,我们开始自定义该监控

编辑根目录的 uptime.config.ts

如果服务故障如何做通知?

UptimeFlare非常自由,你可以在 callbacks 中编写故障时要做的任何事情,这里以发送 POST 请求让 Resend 发送邮件给你举例

首先前往 https://resend.com/

添加一个域名(作为你的发信域名)

创建一个发信API Key

添加环境变量: RESEND_API_KEY 将其绑定到 Action

编辑 uptime.config.tswebhook.payload 部分

示例代码:

        payload: {
        "from": "系统状态更新 <uptimeflare@update.2x.nz>",
        "to": ["acofork@foxmail.com"],
        "subject": "UptimeFlare 状态更新",
        "text": "$MSG"
      },

接下来,当服务故障/重新上线就会通知你啦~

最终效果:

ok.2x.nz
Loading...
Waiting for api.microlink.io...

这篇文章是否对你有帮助?

发现错误或想要改进这篇文章?

在 GitHub 上编辑此页

文章修订历史 (7 次)

查看变更记录
2026年2月9日 07:50:52 f6e3e17

压缩图片

2026年2月4日 12:10:53 44ae8f6

chore: 重新启用图片压缩并移除不支持Sharp压缩的图片后缀源文件

2026年1月9日 13:13:34 3b002c5

feat(scripts): 添加删除图片路径空格的脚本

2026年1月4日 03:08:39 d30a29e

docs(posts): 更新uptimeflare文档并添加新图片

2026年1月4日 02:53:52 6f048e8

posts: 更新uptimeflare文章添加迁移指南

2026年1月4日 02:46:53 a141943

posts: 更新了uptimeflare.md文档内容,将KV存储改为D1数据库,并替换了相关图片资源。同时简化了配置示例,移除了过时的代码片段,使文档更加简洁清晰。

2026年1月3日 04:03:32 f880afd

posts: 添加UptimeFlare监控服务的文章

超高校级的监控服务:UptimeFlare!基于CF Worker!自托管!声明式!新手友好!
作者
二叉树树
发布于
2026年1月3日 11:10:53
许可协议
CC BY-NC-SA 4.0