大家好,最近搞了个小玩意儿,特来分享一下。
啥玩意儿?
简单来说,这是一个轻量级的系统监控平台,使用 CloudFlare 免费搭建,能够让你实时监控自己的服务器、网站、API 接口状态,同时也带有一个公开分享的状态页面。
为啥做这个?
说实话,市面上的监控方案要么太重太复杂(比如 Prometheus + Grafana 全家桶),要么就是收费不便宜(比如 UptimeRobot Pro、Pingdom 之类)。而我只是想有个简单干净的方案,能够:
- 监控几台自己的小破服务器状态(CPU、内存、磁盘这些)
- 检测几个网站和 API 接口是否正常
- 有个好看的状态页面放出来让用户知道服务健康状况
于是,就整了这么个玩意儿。最最最重要的其实就是想有个支持自定义,且可以白嫖的方案。
有啥特点?
完全基于 CloudFlare:数据存储用的 D1,后端用的 Workers,意味着你几乎不用花一分钱
颜值在线:基于 React + Radix UI 开发的前端,简洁但不简单
好上手:一行命令部署 agent,后端直接 wrangler 一键部署
HTTP/HTTPS 监控:支持定制请求方法、请求头和请求体,满足各种 API 监控需求
实时数据可视化:直观的图表展示,支持历史趋势分析
已经做了啥?
目前已经完成的功能:
系统监控:实时收集 CPU、内存、磁盘、网络等指标
HTTP 监控:检测你的网站、API 接口是否正常响应
数据可视化:啥指标都有漂亮的图表展示
自定义状态页:一个能放出去的状态页面,让用户知道你的服务状态
计划整啥?
异常通知:增加告警以及告警通知
移动端:移动端APP,想来用 expo 糊一个APP应该也挺简单的,方便在手机上看
咋用?
基本上就三步走:
- 克隆仓库:
git clone https://github.com/zaunist/xugou.git - 部署后端:在 CloudFlare 账号配置好 D1 数据库,并部署后端到 worker
- 部署前端: 在 CloudFlare 部署前端到 pages
详细教程放在了 WIKI 里。
在线体验
仓库地址:GitHub - zaunist/xugou: XUGOU-基于CloudFlare的轻量化监控平台
在线体验地址:https://xugou.mdzz.uk ,默认用户名密码:admin admin123
在线状态页地址:XUGOU - 轻量化监控平台
好了,就说这么多,对项目有啥问题或者需求,欢迎去提 issue 讨论