Vic-Nas/statuspage

GitHub: Vic-Nas/statuspage

一个轻量级 Django 状态页工具,解决服务可用性监控与事件跟踪的展示问题。

Stars: 0 | Forks: 0

# 应用 一个轻量级的 Django 状态页面,具备实时轮询、图表和事件跟踪功能。 ## 安装说明 ``` pip install -r requirements.txt # 设置环境变量(或导出它们) export FREQUENCY=60 # seconds between polls export SECRET_KEY="your-secret" export DEBUG=false export ALLOWED_HOSTS="yourdomain.com" python manage.py makemigrations app python manage.py migrate python manage.py createsuperuser python manage.py runserver ``` ## 环境变量 | 变量 | 默认值 | 说明 | | --- | --- | --- | | `FREQUENCY` | `60` | 轮询间隔(秒) | | `SECRET_KEY` | dev default | Django 密钥 | | `DEBUG` | `true` | 生产环境请设为 `false` | | `ALLOWED_HOSTS` | `*` | 允许的主机列表(逗号分隔) | | `DB_DIR` | 项目根目录 | 存储 `db.sqlite3` 的目录 | | `SITE_TITLE` | `System Status` | 页面标题(页眉显示) | | `MAX_BARS` | `15` | 在“上下”图表中启动渐变压缩前的最大柱状条数 | ## 功能特性 - **公共页面**(`/`):按域名显示上下线状态与响应时间图表,支持可自定义时间窗口(1小时 / 24小时 / 48小时 / 7天),并具备实时刷新 - **管理后台**(`/admin`):添加或编辑 `Domain` 与 `Incident` 对象,并标记事件为已解决 - **自动轮询**:APScheduler 在启动时按 `FREQUENCY` 秒间隔对所有活跃域名进行探测 - **每日清理**:24 小时前已解决的事件会在 UTC 时间 3 点自动删除 ## 注意事项 - 通过管理页面(`/admin`)添加需要监控的域名。 - `CheckResult` 表记录会持续累积——建议配置定时任务进行清理(例如保留最近 7 天的数据)。 - 生产环境建议使用 gunicorn:`gunicorn app.wsgi`(调度器会在 `apps.py` 的 ready 钩子中启动)。
标签:Admin后台, APScheduler, CSV输出, Django, Gunicorn, LangChain, Live Refresh, Python, SEO状态页, SQLite, Uptime监控, 事件追踪, 公开页面, 响应时间图表, 实时轮询, 数据库迁移, 无后门, 状态页, 环境变量配置, 自动巡检, 自定义域名, 自托管, 轻量级, 运维监控, 逆向工具