如何配置云服务器日志的清理与归档流程规范?

摘要:# EC2*ECS日志清理与归档配置规范 > 标准化日志生命周期管理:压缩 - 归档(S3) - 清理,防止磁盘打满导致服务不可用。 ## 目录 - [架构概览](#架构概览) - [清理策略说明](#清理策略说明)
# EC2*ECS日志清理与归档配置规范 > 标准化日志生命周期管理:压缩 - 归档(S3) - 清理,防止磁盘打满导致服务不可用。 --- ## 目录 - [架构概览](#架构概览) - [清理策略说明](#清理策略说明) - [配置参数规范](#配置参数规范) - [优化脚本(可配置版)](#优化脚本可配置版) - [部署与运维](#部署与运维) - [监控与告警](#监控与告警) - [原始脚本分析与改进点](#原始脚本分析与改进点) --- ## 架构概览 ``` 日志文件 (.log) | +-- 正常流程(磁盘 < 普通阈值) | --> 压缩 (.log.gz) --> 可选上传 S3 --> 删除原始 .log | +-- 普通清理(磁盘 > 普通阈值) | --> 删除最旧的 .gz 文件(分批删除,直到低于阈值) | +-- 紧急清理(磁盘 > 紧急阈值,需开启 ENABLE_EMERGENCY_CLEANUP) --> 激进删除:.gz -> 旧 .log -> 最旧日志文件(保护活跃日志) ``` ### 生命周期 ``` 写入中 (.log) 保留(活跃日志,受 KEEP_FILES 保护) | 60 分钟后 已轮转 (.20260410.log) 压缩为 .gz -> 删除原始文件 | 磁盘超阈值时 压缩文件 (.gz) 按时间从旧到新依次删除 | 可选 S3 归档 长期保留,按 S3 lifecycle 策略自动过期 ``` --- ## 清理策略说明 ### 三级清理机制 | 级别 | 触发条件 | 开关 | 行为 | 风险等级 | |----------------|----------------------------------|-----------------------------------|------------------------------------------------|----------| | **压缩归档** | 每轮循环 | 始终开启 | 压缩轮转日志,可选上传 S3,删除原始文件 | 低 | | **普通清理** | 磁盘 > `THRESHOLD` | 始终开启 | 分批删除最旧 `.gz` 文件,直到低于阈值 | 中 | | **紧急清理** | 磁盘 > `EMERGENCY_THRESHOLD` | **`ENABLE_EMERGENCY_CLEANUP`** | 激进删除所有可清理日志(保护 `KEEP_FILES`) | 高 | > **紧急清理开关说明:** `ENABLE_EMERGENCY_CLEANUP=1` 开启(默认),`=0` 关闭。 > 关闭后磁盘即使超过紧急阈值也仅执行普通清理 + 发送告警,不会激进删除文件。 > 适用于希望人工介入而非自动处理的场景。
阅读全文