日志成本通常不是由真正的错误日志造成,而是高频成功请求、重复堆栈和无界字段持续写入。治理前先按服务、级别和字段估算每日写入量。
先删除没有读者的日志
统计过去 30 天查询过的索引和字段。长期无人使用、无法关联请求、没有行动价值的日志应降级或删除,而不是无限延长保留期。
结构化而非堆文本
统一时间、级别、服务、环境、trace ID、错误码和消息模板。不要把完整 JSON 再塞进字符串字段,避免重复索引。
分层保留
- 安全审计日志:完整、不可篡改、长期保留
- 错误与关键业务事件:中长期保留
- 普通访问日志:短期保留并按比例采样
- 调试日志:默认关闭,按时间窗口动态开启
控制异常风暴
相同错误使用模板和计数聚合,堆栈只在首次或采样事件中记录。应用必须限制单实例日志速率,防止依赖故障引发写入放大。
验收指标
同时跟踪每 GB 成本、每日写入量、查询命中率和事故取证缺失率。成本下降但无法复盘事故,不是成功治理。