日志保留策略

创建日期:2026-02-07  |  状态:参考文档

文档目的
整理 SaaS 行业日志保留的通用标准,为 Celoria 制定合理的日志保留与归档策略提供参考依据。

一、行业通用标准

按日志类型的保留时长

日志类型 推荐保留时长 说明 来源
应用日志 (Application Logs) 90 天 请求日志、错误日志、调试信息。超过 3 个月的应用日志对排查问题的价值极低,大多数问题在 72 小时内被发现。 业界共识
审计日志 (Audit Logs) 1-3 年 登录/登出、权限变更、数据修改。安全审计需要,发现数据泄露的平均时间为 100-200 天,保留 1 年是最低标准。 Microsoft / Google Cloud
安全日志 (Security Logs) 1 年 认证失败、异常访问、IP 黑名单触发。用于安全事件回溯和取证分析。 NIST / SOC 2
交易日志 (Transaction Logs) 3-7 年 支付记录、退款记录。受金融合规要求约束(PCI DSS 要求至少 1 年,税务法规可能要求 7 年)。 PCI DSS / IRS
系统性能指标 (Metrics) 90 天高精度 + 1 年聚合 CPU、内存、响应时间等指标。90 天内保留秒级精度,之后降采样为小时/天级聚合。 Datadog / Grafana
用户行为日志 (Activity Logs) 1 年 页面访问、功能使用。用于产品分析和用户体验优化。 业界共识

合规框架要求

合规框架 最低保留要求 适用范围
PCI DSS 1 年(至少 3 个月可立即访问) 处理信用卡支付的系统
SOC 2 1 年 SaaS 服务提供商
HIPAA 6 年 医疗健康数据(不适用于美甲行业)
GDPR 无固定期限,遵循"最小必要"原则 欧盟用户数据
IRS (美国税务) 3-7 年 财务和交易记录
关键数据
数据泄露的平均发现时间为 100-200 天。因此审计日志保留至少 1 年是行业最低标准,确保安全事件发生时有足够的日志可供回溯分析。

二、主流 SaaS 平台做法

平台 应用日志 审计日志 归档策略
Microsoft 365 90 天 标准版 180 天,E5 版 1 年,可扩展至 10 年 分层存储(热/冷/归档)
Google Cloud 30 天(默认) Admin Activity: 400 天,Data Access: 30 天(可配置) 导出到 BigQuery / Cloud Storage
Salesforce 180 天(Setup Audit Trail),Field History: 18-24 个月 Event Log Files 可导出
Zenoti(美甲行业) 未公开 未公开,但提供审计日志查看功能

三、Celoria 推荐方案

日志保留策略

Celoria 日志表 保留时长 归档方式 说明
application_logs 90 天 过期删除 请求日志、错误日志。90 天后价值极低,直接清理。
system_error_logs 90 天 过期删除 系统错误记录。与应用日志同策略。
auth_audit_logs 1 年 冷存储归档 登录/登出、JWT 刷新。安全审计需要。
permission_audit_logs 1 年 冷存储归档 权限变更记录。合规审计需要。
transactions / transaction_history 7 年 不删除 支付记录。税务合规要求(IRS 3-7 年)。
promotion_send_logs 1 年 过期删除 营销发送明细。超过 1 年的发送记录参考价值低。
export_logs 90 天 过期删除 数据导出记录。

实施建议

定时清理任务
建议创建 node-cron 定时任务,每天凌晨执行日志清理:
// 示例:日志清理 SQL
-- 清理 90 天前的应用日志
DELETE FROM application_logs WHERE created_at < NOW() - INTERVAL '90 days';

-- 清理 90 天前的系统错误日志
DELETE FROM system_error_logs WHERE created_at < NOW() - INTERVAL '90 days';

-- 归档 1 年前的审计日志(先导出再删除)
-- Step 1: COPY to file
-- Step 2: DELETE FROM auth_audit_logs WHERE created_at < NOW() - INTERVAL '1 year';

-- 清理 1 年前的营销发送明细
DELETE FROM promotion_send_logs WHERE sent_at < NOW() - INTERVAL '1 year';

数据量预估(单租户,150 家门店)

日志表 保留时长内的数据量 计算逻辑
application_logs ~450 万条 ~5 万条/天 × 90 天
auth_audit_logs ~180 万条 ~5,000 条/天 × 365 天
permission_audit_logs ~18 万条 ~500 条/天 × 365 天

四、参考资料