自己写的 uptime 监控及状态页 UptimeFlare, 使用 Cloudflare Workers 部署 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
lyc8503
V2EX    程序员

自己写的 uptime 监控及状态页 UptimeFlare, 使用 Cloudflare Workers 部署

  •  2
     
  •   lyc8503 2023-11-19 00:50:06 +08:00 2871 次点击
    这是一个创建于 695 天前的主题,其中的信息可能已经有所发展或是发生改变。
    之前一直在找 uptime monitoring 的解决方案, 没找到特别合适的 serverless 版本.
    (upptime 可能违反 GitHub ToS 且更新缓慢有不同步问题, cf-workers-status-page 功能较少)

    于是自己搓了一个.

    https://github.com/lyc8503/UptimeFlare

    可以免费部署在 Cloudflare 上, 对自己的网站进行 uptime 监控, 挂了的话可以得到通知.

    Online demo: https://uptimeflare.pages.dev/
    20 条回复    2025-04-01 21:59:18 +08:00
    lemonda
        1
    lemonda  
       2023-11-19 03:23:47 +08:00
    可以发送随机变量么?用来避免访问到缓存页面
    dasf53adf
        2
    dasf53adf  
       2023-11-19 08:35:46 +08:00
    感觉不错,有使用说明么? 看 wiki 是空的。。。
    koala9527
        3
    koala9527  
       2023-11-19 10:52:46 +08:00
    感觉不错,uptime.config.ts 怎么配置呢?没找到详细解释
    lyc8503
        4
    lyc8503  
    OP
       2023-11-19 11:29:35 +08:00 via Android
    @lemonda 是个不错的主意 我稍后可以添加下

    @dasf53adf @koala9527 wiki 里有 https://github.com/lyc8503/UptimeFlare/wiki/Configuration

    首页是空的 在侧边栏可以跳转 似乎引起了一些误解 我修改下
    julyclyde
        5
    julyclyde  
       2023-11-19 12:05:07 +08:00
    怎么触发呢?我看你的 wrangler.toml 里没有写 cron 啊?
    lyc8503
        6
    lyc8503  
    OP
       2023-11-19 12:08:31 +08:00
    @julyclyde 是用 cron 自动触发的, 配置写在 terraform 里 https://github.com/lyc8503/UptimeFlare/blob/main/deploy.tf, worker 下的 toml 只是为了正常编译的一个占位符, 具体过程可以看 GitHub 的 pipeline.

    不使用 wrangler.toml 是因为 pages 的 wrangler.toml 居然不能设置 kv_bindings, 干脆直接用 terraform 配置了.
    julyclyde
        7
    julyclyde  
       2023-11-19 12:09:45 +08:00
    @lyc8503 哦,好复杂。我这种没真正用过的人还理解不了这其中的坑
    lyc8503
        8
    lyc8503  
    OP
       2023-11-19 12:26:48 +08:00
    @julyclyde 主要是 Wrangler 这个工具的文档和参数好像不是非常完善... 输出也不能输出为 json, 不方便自动化.
    mskumiko
        9
    mskumiko  
       2023-11-20 01:57:06 +08:00
    强无敌,worker 又多一个玩法。
    mskumiko
        10
    mskumiko  
       2023-11-20 18:20:46 +08:00
    https://tutu.to/ttt_3kUpqS.png

    请问,小绿格子只有一个格子,为什么呢?
    lyc8503
        11
    lyc8503  
    OP
       2023-11-20 21:17:58 +08:00
    @mskumiko 每个格子是每天的 uptime 情况, 最多显示 90 天.
    lyc8503
        12
    lyc8503  
    OP
       2023-11-20 21:18:35 +08:00
    @mskumiko 我的 demo 页面今天刚清理了下数据, 明天就有两格了
    mskumiko
        13
    mskumiko  
       2023-11-20 21:52:08 +08:00
    @lyc8503 已经部署成功了,谢谢。
    mskumiko
        14
    mskumiko  
       2023-11-21 14:39:22 +08:00
    @lyc8503 请问 js 中的 Authorization: 'Bearer YOUR_TOKEN_HERE', 这里是要输入什么吗?我发现部署成功后至今都是红的。
    lyc8503
        15
    lyc8503  
    OP
       2023-11-23 13:40:40 +08:00
    @mskumiko 这只是个示例 Header, 如果你不需要可以删除它, 如果是红的可能是其他原因导致的, 最简单的页面状态监测只需要定义必须的参数就行了 (responseKeyword 要删掉)
    qxq94
        16
    qxq94  
       230 天前
    我看默认是 180s 刷新一次?这个有地方配置或更改吗?
    861404494l
        17
    861404494l  
       205 天前
    @qxq94 同问,找到在哪改了吗
    lyc8503
        18
    lyc8503  
    OP
       199 天前
    @qxq94 @861404494l

    配置文件中的 kvWriteCooldownMinutes ,默认是 3min ,免费账号至少要是 2min ,小于 2min 会超 KV 限制。
    861404494l
        19
    861404494l  
       197 天前
    @lyc8503 好的,谢谢
    qxq94
        20
    qxq94  
       195 天前
    @lyc8503 非常感谢百忙之中回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     968 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 22:23 PVG 06:23 LAX 15:23 JFK 18:23
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86