主要更新内容
- 移除自动密码检索,引导用户通过网页安装向导创建管理员账号
- 重构启动流程:用数据库迁移循环替换旧版升级向导,支持指标存储结构升级和旧监控数据迁移
- 指标存储原始保留窗口延长至10分钟,超过一分钟的样本使用无损字节编码降低内存占用
- 实现纯内存原始窗口+分钟级热rollup机制,不再持久化原始采样点
- 引入规范化模式(series、labels、resolutions字典表),rollup表改用外键引用
- 支持通过管理员操作显式重建旧版指标数据库结构,重启后自动进入受限引导
- 移除低资源模式及自动检测功能
- 优化SQLite内存和性能:通过统一配置器设置PRAGMAs(缓存大小、WAL自动检查点、日志大小限制等)
- Ping任务公共响应中添加
weight字段 - 安装脚本简化,不再显示初始密码
- README大幅精简,集中为简体中文版本,删除日语、繁体中文及访客审计RPC文档
Bug修复
- 修复指标存储compaction可能导致的写饥饿问题
- 修复热rollup刷新时机,确保精确的upsert窗口
其他
- 新增
internal/sqlitetune包,用于一致地配置SQLite连接 - 新增
internal/lifecycle/restart.go,支持进程重启请求(如指标存储结构升级后自动重启) - 删除旧版
compaction_watermark表及DeleteLegacyMonitoringBefore等废弃迁移代码 - 更新依赖声明(
go.mod),golang.org/x/sync升级为直接依赖 - 清理已淘汰的配置项(
low_resource_mode)
Commits
- refactor: remove automatic password retrieval, guide user to web setup (045f24e) @Akizon77
- fix(metricstore): avoid compaction write starvation (17aa37c) @Akizon77
- feat: add weight field to public ping task response (c7819cd) @Akizon77
- refactor: replace legacy upgrade with database migration loop (b8c1008) @Akizon77
- fix(metric): defer hot rollup flush for exact upsert window (0103b99) @Akizon77
- feat(metricstore): extend raw retention to 10 min, block reload if upgrade needed (c3c3ed8) @Akizon77
- remove low resource mode (1ffe413) @Akizon77
- optimize sqlite memory usage (0d69995) @Akizon77
- feat: auto restart after reload a old metric database (8c849aa) @Akizon77
- docs: simplify installation instructions and update sponsor credits (a1ae821) @Akizon77
Full Changelog: 1.3.0...Snapshot-2607281157