DANGER
本页由 AI 工具参考代码编写,尚未经过人工审核,内容仅供参考。如果无法解决问题或需要协助部署,可邮箱联系:kuohu233@qq.com
监控与告警
日常监控是保证 AstraSchedule 稳定运行的关键。本章介绍如何检查系统健康状态、识别常见问题并及时处理。
后端健康检查
基础健康检查
最简单直接的检查方式:访问后端 API 端点。
正常返回:JSON 格式的菜单数据,包含 status 和 data 字段。
异常情况:
自动健康检查脚本(内网方案)
创建一个简单的健康检查脚本,定期检测后端状态:
配合 systemd timer 或 crontab 实现定期执行:
函数计算监控(极低成本 & 高并发方案)
阿里云函数计算控制台
登录阿里云函数计算控制台,选择你的函数,可查看以下关键指标:
冷启动监控
函数计算在无请求时会回收实例,下次请求触发冷启动。冷启动通常持续 2-5 秒,期间请求有延迟。
如何判断是否发生冷启动:
- 在函数计算控制台查看「实例指标」,如果实例数从 0 变为 1,说明发生了冷启动
- 在后端日志中查看启动日志(
[GIN-debug] Listening and serving HTTP on :9000),每次出现代表一次冷启动
如何减少冷启动:
- 在函数计算控制台配置「预留实例」,保持至少 1 个实例常驻(会产生少量费用)
- 使用定时触发器(如每 5 分钟访问一次
/web/menu)保持实例活跃
错误率告警
在函数计算控制台可以配置告警规则:
- 进入 监控 → 告警管理
- 创建告警规则:
- 指标:函数错误率
- 条件:错误率 > 5%,持续 5 分钟
- 通知方式:短信或邮件
- 同理可配置调用次数突增告警(可能是被攻击)和耗时突增告警
管理端首页仪表盘
管理端首页提供了直观的运行状态概览。
客户端连接状态
进入管理端后,首页仪表盘显示:
- 所有已配置班级的客户端连接状态:绿色 = 在线,灰色 = 离线
- 今日异常断连次数:客户端非正常断开 WebSocket 连接的次数
正常情况:所有班级状态为绿色,断连次数为 0。
需要关注:多个班级同时离线(可能是后端或网络故障)、单个班级频繁断连(可能是客户端或网络问题)。
客户端离线排查
如果仪表盘显示客户端离线:
- 确认教室电脑是否开机且程序正在运行
- 检查教室网络是否正常(能否 ping 通后端地址)
- 确认客户端填写的后端地址是否正确
- 如果使用 WebSocket 连接,检查防火墙是否放行了相应端口
- 查看客户端日志(托盘菜单 → 右键 → 查看日志)
常见告警信号及处理
管理端异常
客户端异常
服务端异常
网络异常
日志查看
内网方案(systemd)
函数计算方案
- 登录阿里云函数计算控制台
- 选择你的函数 → 调用日志
- 可按时间范围和关键词筛选
- 支持实时日志(Live Tail)
学期初检查清单
每学期开学前,建议执行以下检查确保一切就绪:
- 后端正常运行,
curl /web/menu返回正常 - 管理端可正常登录和保存配置
- 新课表、新作息已录入并验证
- 每个班级的配置完整(课表、作息、科目、倒数日)
- 自动任务(调休等)已按新学期日期更新
- 执行一次完整备份
- 抽查一个教室客户端能正常拉取课表
- 天气 API Key 有效且配额充足
- 磁盘空间充足(至少 1GB 可用)