日志成本治理:保留诊断价值,删除无效噪声

通过分级、采样、字段治理和生命周期策略控制日志成本,同时保留事故所需证据。

文章目录 · 5 节

日志成本通常不是由真正的错误日志造成,而是高频成功请求、重复堆栈和无界字段持续写入。治理前先按服务、级别和字段估算每日写入量。

先删除没有读者的日志

统计过去 30 天查询过的索引和字段。长期无人使用、无法关联请求、没有行动价值的日志应降级或删除,而不是无限延长保留期。

结构化而非堆文本

统一时间、级别、服务、环境、trace ID、错误码和消息模板。不要把完整 JSON 再塞进字符串字段,避免重复索引。

分层保留

  • 安全审计日志:完整、不可篡改、长期保留
  • 错误与关键业务事件:中长期保留
  • 普通访问日志:短期保留并按比例采样
  • 调试日志:默认关闭,按时间窗口动态开启

控制异常风暴

相同错误使用模板和计数聚合,堆栈只在首次或采样事件中记录。应用必须限制单实例日志速率,防止依赖故障引发写入放大。

验收指标

同时跟踪每 GB 成本、每日写入量、查询命中率和事故取证缺失率。成本下降但无法复盘事故,不是成功治理。