主要更新内容
- 新增公开访客审计 RPC 端点:
public:recordVisitorEvent,主题前端可将页面浏览等事件写入审计日志,IP/User-Agent 由服务端获取,可选在私有站点登录页白名单内。 - 移除全局默认保留天数配置:删除
metric_retention_days和DefaultRetentionDays,所有指标必须显式指定RetentionDays;零值表示禁用持久化并自动清除已有数据。 - 降采样默认关闭:
metric_downsampling_enabled默认值改为false。 - 删除客户端/任务时清理 metric store:删除客户端或 Ping 任务前,先清除对应的指标记录,避免孤立数据。
- 新增日志表查询索引:为
models.Log添加time索引和(msg_type, time)复合索引,admin:getLogs支持按消息类型过滤。 - 任务结果清理改用固定保留天数:不再依赖废弃的配置,硬编码为 30 天。
- 公开设置新增
visitor_audit_enabled:控制访客审计是否启用,默认关闭,前端可通过public:getPublicSettings获取该字段。
Bug修复
- 修复访客审计构建编译冲突:去除重复的
firstNonEmpty声明,添加 per-IP 令牌桶限流(30次/分,突发10),字符串按 Unicode 码点截断,避免无效 UTF-8 和过大消息。 - 修复零保留指标定义被覆盖:
RetentionDays为 0 的指标在创建、迁移、压缩过程中保持禁用状态,不再被默认值覆盖。 - 修复 Ping 记录读取不支持滚动数据:
GetPingRecords改用Series聚合查询,正确读取压缩后的滚动数据。 - 减少内置指标默认保留天数:测试用内置指标从 90 天改为 1 天,避免测试数据占用过多空间。
其他
- 迁移时自动删除已废弃的
metric_retention_days配置项。 - GitHub Actions 发布笔记工作流移除
repository_dispatch和定时触发。 - 新增访客审计 RPC 使用说明文档
docs/visitor-audit-rpc.md。
What's Changed
- feat(rpc): add public visitor audit event endpoint by @sanrokamlan-prog in #597
- fix: harden visitor audit logging by @sanrokamlan-prog in #602
Commits
- disable downsampling by default (724dd3b) @Akizon77
- feat: add visitor audit rpc endpoint (7679430) @sanrokamlan-prog
- Update generate-release-notes.yml (5c73eba) @Akizon77
- Merge pull request #597 from sanrokamlan-prog/visitor-audit-rpc (1eb3549) @Akizon77
- fix: harden visitor audit logging (0c80f0f) @sanrokamlan-prog
- Merge pull request #602 from sanrokamlan-prog/fix/visitor-audit-hardening (5fa59ab) @Akizon77
- refactor: replace static retention config with dynamic retention summary (7f36881) @Akizon77
- fix: preserve zero-retention metric definitions across operations (66b7691) @Akizon77
- refactor(metrics): remove DefaultRetentionDays config option and enforce explicit retention (7baf2ed) @Akizon77
- fix: reduce default built-in metric retention to 1 day for testing (c1178eb) @Akizon77
- fix(metricstore): use Series to read ping records for rollup support (e2a8284) @Akizon77
- feat: clean metric store before deleting client or ping task (43547b9) @Akizon77
New Contributors
- @sanrokamlan-prog made their first contribution in #597
Full Changelog: 1.2.6...Snapshot-2607152341