主要更新内容
- 新增首次安装向导:通过 Web 页面创建管理员账号、配置站点信息与监控数据库,并支持在首次安装阶段恢复备份。
- 全面升级 Metric Store:
- 首次启动自动识别低资源环境,并应用更适合 SQLite 的配置。
- 指标写入、Ping 记录批处理、非百分位查询和维护任务均有性能优化。
- 指标库连接失败时进入数据库恢复模式,可在保留登录能力的情况下修正监控数据库配置。
- 切换监控数据库后的历史数据迁移改为由管理员手动发起,可查看进度或取消。
- 新增主题市场源管理与主题包校验。
- 改进磁盘写入测速,使用对齐的无缓冲 I/O,结果更贴近实际磁盘性能。
- 重构服务启动生命周期、日志系统与定时任务结构,提升启动、维护和故障诊断的可靠性。
Bug 修复
- 修复指标清理中孤立数据未被移除的问题,并拒绝未知指标。
- 修复单个指标压缩失败时中断后续压缩的问题,并为压缩操作增加独立并发保护。(
#609、#612) - 修复内存总量读取可能溢出的问题。
- 修复事件时间以 UTC 显示而非本地时区的问题。
- 修复维护版本 Docker 镜像可能使用不匹配前端,以及
latest标签提升逻辑不准确的问题。
升级注意事项
- 从
1.2.7及更早版本升级时,旧监控数据会按“每小时、每个指标序列”的 P95 值聚合迁移;原始明细数据会被删除,无法恢复。升级前请务必备份数据库。 - 更换 Metric Store 数据库后,历史指标数据不再在启动时自动复制。请在 WebUI 中手动启动指标库迁移。
- 新安装实例不再从启动日志或
ADMIN_USERNAME/ADMIN_PASSWORD环境变量获取初始账号,改为访问站点后完成安装向导。
其他
- 新增已有 Release 的重新构建工作流。
- 调整构建与发布流程,确保维护版本使用对应前端,并仅由最新正式版本更新 Docker
latest标签。
What's Changed
Commits
6ab9c67refactor: use GetAllPingTasks in ReloadPingSchedule and add ordering test6efc72crefactor: remove automatic metric store startup migration; mandate manual migration1f6bd13refactor: relocate config/migrations to internal, rename corn to scheduler5b93181feat(metric): add metric store recovery mode with retry and temporary HTTP serverf07bd74fix: format event time in local timezone instead of UTC887381afeat(metricstore): batch ping records for improved performance11617b4perf(metric): skip digests for non-percentile rollup queries5a84889feat: first-run installation guidedb2ed8erefactor: replace stdlib log with custom logger, enforce gin release mode312834ffeat: add theme market source management and archive validation9d149abci: add workflow to rebuild existing releases9d7e24afix(ci): promote Docker latest explicitly99c684efix(ci): build maintenance releases with matching frontenda402cc6fix(ci): only tag Docker latest for latest release0bac110feat: use aligned, unbuffered I/O for disk write benchmark7a95546feat: migrate legacy monitoring to hourly P95 aggregationeb7ecc6fix(resourceprobe): cast Totalram to uint64 to avoid overflowf59e0e8feat: add automatic low resource mode detection and SQLite tuningb4d3977feat: make metric deletion async and add UpdateMetricRetentionb554368feat: drop obsolete builtin metrics and expose definition creationcdfd5bdfix: remove orphaned metric data before space reclaim and reject unknown metrics5a66f28fix: #609 #612 continue compaction on per-metric errors and add separate compaction gate
Full Changelog: 1.2.7...1.3.0