github komari-monitor/komari Snapshot-2607272244

pre-release4 hours ago

主要更新内容

  • 指标存储架构重写:精确采样点不再持久化,改为内存中保留10分钟;rollup 存储使用规范化模式(字典内联、外键约束),大幅降低写入延迟和存储碎片。
  • 安装引导流程变更:去除自动密码获取,新部署将在首次访问时通过网页向导创建管理员账号。
  • 数据库迁移统一:旧的 1.2.7 升级逻辑替换为通用迁移循环,支持导入遗留监控数据和自动重建指标存储结构。
  • 默认 rollup 策略调整:增加 24 小时滚动层级,最长保留期延长至约 100 年;原始保留窗口缩短为 10 分钟;t-digest 默认压缩度调低至 30(更节省内存)。
  • SQLite 配置优化:WAL 自动 checkpoint 页数从 1000 降至 256,新增日志大小限制(1 MB),降低 WAL 膨胀。
  • 公开 Ping 任务响应增加 weight 字段:前端可使用该值控制任务权重。
  • 移除低资源模式:废弃 low_resource_mode 配置及相关客户端降级逻辑。
  • 指标查询参数清理:移除已弃用的 downsampleserver_downsample 等参数,简化为统一 aggregation / algorithm

Bug修复

  • 避免指标入库写饥饿:修复 compaction 与写入并发时的写饥饿问题。
  • 热 rollup flush 时机优化:推迟关闭后的热 rollup 刷新,确保精确 upsert 窗口内数据不丢失。

其他

  • 启动循环中新增指标存储结构完整性检测,检测到不兼容模式后自动触发重建向导。
  • 启动脚本简化:不再自动打印初始密码,引导用户访问 Web 安装向导。
  • 更新测试用例适配新的内存原始窗口和分钟级聚合语义。

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

Full Changelog: 1.3.0...Snapshot-2607272244

Don't miss a new komari release

NewReleases is sending notifications on new releases.