LightPing------轻量级本地站点可用性监控面板

作为一个计算机专业学生,平时手上有几个自己搭的小站点,时不时想看看它们有没有正常在线。 试过 Uptime Kuma,功能的确强大,但是对我这种只需要简单监控几个网站的场景来说,太过于繁重了。一大堆组件、配置,部署维护都要花精力,有点 "杀鸡用牛刀"。
于是便萌生一个想法:干脆自己写一个够用的监控面板。 不用复杂架构,不用重量级数据库,只保留核心能力:定时探测站点、记录响应状态、画个简单图表,再加一个交互舒服的 Web 页面。 趁着国庆假期,就有了这个项目:LightPing。
项目简介
LightPing 是轻量自托管 HTTP 站点监控仪表盘。 基于 Python 开发,SQLite 单文件存储,不需要额外部署 MySQL、Redis。拿到代码,装好依赖就能直接跑。适合个人小站点、测试服务的可用性监控。
功能亮点
- 站点管理:增删改监控目标,自定义探测间隔、超时时间、期望 HTTP 状态码
- 探测方式:后台自动定时巡检 + 支持手动一键即时探测
- 独立启停:可单独关闭某个站点的自动探测,历史数据完整保留,不受影响
- 状态可视化:红绿指示灯标识在线 / 离线,自动计算站点可用率
- 响应时间折线图,直观查看延迟变化趋势
- 检测记录分页表格,专门优化页面布局,切换分页不会上下抖动
- 卡片联动交互:点击卡片,同行所有卡片同步展开 / 收起,界面整洁统一

技术栈
FastAPI + SQLAlchemy + SQLite + APScheduler + httpx,前端原生 HTML/CSS/JS + ECharts。 没有用特别前沿花哨的技术,整个项目的设计思路就是轻量化优先,降低部署上手门槛。
快速部署
bash
# 克隆仓库
git clone https://github.com/Daniel-1233/LightPing---Lightweight-Uptime-Monitor.git
cd LightPing---Lightweight-Uptime-Monitor
# 安装依赖
pip install -r requirements.txt
# 启动服务
uvicorn app.main:app --reload
访问 http://127.0.0.1:8000,打开 Web 面板,添加监控目标,就可以开始巡检。 数据全部保存在 SQLite 单文件里,备份只需要直接复制 db 文件。
适用场景
个人博客、小型后端服务、测试站点的可用性监控。
不适合大规模集群、高并发企业级监控场景。
后续规划
这个 v1.0 只是基础可用版本,后面有空会继续迭代:
- 告警推送(钉钉 / 邮件 / Webhook,站点离线及时通知)
- Docker 容器化一键部署
- HTTPS 证书有效期检测
- 检测记录导出功能
项目地址
GitHub:github.com/Daniel-1233...
这个项目算是一次小的全栈练手,顺便解决了一些问题。 写接口、操作数据库、处理后台定时任务,到前端一点点调交互细节,卡片对齐、页面防抖动,很多功夫都花在看不见的体验打磨上。 如果你也在找一个简单轻量的站点监控工具,或者想参考学习 FastAPI 项目,欢迎试一下。
项目对你有帮助的话,欢迎 Star🌟,遇到 Bug 或者有新想法可以直接提 Issue,欢迎交流。