type
status
date
slug
summary
tags
category
icon
在前段时间,我借助 cursor 开发了一款监控工具,功能是参照 uptime-kuma 和 beszel 这两款监控实现的。
为什么?
最开始的时候,我在 northflank 上部署了自己的 uptime-kuma 以及 beszel,在我之前的文章中也有介绍过。但是在某一天,我访问 uptime-kuma 的时候,发现自己的数据全没了,我就知道是 northflank 平台又在作怪,这个平台虽然说确实有可以长期使用的免费额度,但是它隔一段时间就会将你的容器杀死,然后再重新启动,这就导致没办法在这个平台上长期稳定的运行一个服务。
替代品
当我意识到 northflank 平台不能再继续使用的时候,脑海里第一时间反应过来的就是使用 cloudflare worker 来做替代,因此我也立刻去网上搜寻了使用 cloudflare worker 来做监控的开源项目。
在网上搜索出来的主要有以下两个:
UptimeFlare: https://uptimeflare.pages.dev/
cf-workers-status-page:https://status-page.eidam.dev/
这两个跟 uptime-kuma 都很像,其中 UptimeFlare 我很喜欢,页面很好看,很漂亮。
关键问题:客户端
前面的这两个监控服务都只实现了站点监控,只能够通过 cloudflare worker 主动去请求指定的 API,以此来判断服务状态。假设这时候我有一个客户端,有可能是一台 vps,有可能是我的 NAS,甚至是我的路由器,以上两个项目能实现监控吗?很明显是不行的,这也是我想到自己来实现一个监控的主要原因。
撸起袖子开干
想好了核心功能点,那就撸起袖子开干!由于我自己不怎么懂前端,所以项目的代码都是由 cursor 来实现,代码质量可以说是一塌糊涂,但是经过两天的调试,总算是把核心功能都实现了:
- 主动获取API状态
- 被动获取客户端状态
- 发送通知(目前仅实现了Telegram通知)
这里是项目的在线体验地址:https://xugou.mdzz.uk/
APP 维护不过来,已放弃。
后续计划
在APP之后,就是继续优化项目,比如说增加通知渠道,目前仅仅支持 telegram,这很显然是不够的,只是在之前的开发过程中,我已经体验到了AI开发项目的弊端,如果自己对项目不了解,很容易让项目变得不可维护,好在后来我调整了一下结构,重构了一部分,这才让开发不至于停滞。AI始终只能是个辅助,还是要靠自己来把控项目。
部署教程
图文教程
视频教程
聊了这么多,还没讲怎么自部署这个项目,不多说了,看视频吧:

- 作者:阿杰鲁
- 链接:https://dddd.moe/article/1c77d549-6f33-80f2-90cf-fb2836876491
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。