日志空间管理
日志落盘之后就成了会持续增长的资产,必须有回收策略:查清当前占用、按容量或时间或份数三个维度清理归档文件,同时在配置里设定长期上限,让系统自动维持在合理范围。只做清理不改上限,用不了多久又会涨回来;只设上限不做一次清理,眼前的容量压力也不会自动解除。两件事配合起来,才是可持续的日志空间治理。
基本信息
| 查看占用 | 查询日志当前占用的磁盘空间 |
|---|---|
| 按容量清理 | 保留指定大小以内的归档日志 |
| 按时间清理 | 删除早于指定时间的归档日志 |
| 按份数清理 | 限制保留的归档文件数量 |
| 长期上限 | 在配置中声明总占用上限与保留周期 |
| 回收粒度 | 以归档文件为单位回收,正在写入的当前文件不受影响 |
典型使用场景
- 磁盘告警处置:确认是日志占用导致后按维度回收
- 交付容量规划:结合业务日志量设定合适的占用上限
- 合规与留存权衡:保留周期满足审计要求同时不挤占业务空间
- 变更后复核:调整上限后确认实际占用回到预期区间
- 批量治理:多台机器统一清理策略,避免个别机器异常增长
- 例行巡检:把日志占用纳入巡检项,提前发现增长异常
查看与清理
查看与清理
journalctl --disk-usage # 先看清当前占用
df -h /var # 结合文件系统用量判断
journalctl --vacuum-time=30d # 删除 30 天前的归档日志
journalctl --vacuum-size=500M # 把归档日志压到 500M 以内
journalctl --vacuum-files=5 # 最多保留 5 份归档
journalctl --disk-usage # 确认清理结果长期上限配置
长期上限配置
# 日志服务配置片段
# SystemMaxUse=2G # 磁盘日志总上限
# SystemKeepFree=1G # 至少保留的可用空间
# MaxRetentionSec=1month # 最长保留周期
# RuntimeMaxUse=200M # 内存日志上限清理维度对照
| 维度 | 作用 | 适用场景 |
|---|---|---|
| 容量 | 限制归档日志总大小 | 容量压力明确时最直接 |
| 时间 | 删除指定时间之前的归档 | 按留存要求控制最自然 |
| 份数 | 限制归档文件数量 | 需要固定数量留档时 |
| 总上限 | 配置中声明长期约束 | 避免反复人工干预 |
| 可用空间下限 | 预留最小可用空间 | 防止日志把系统盘写满 |
清理动作立即删除历史日志且不可恢复,执行前先确认保留周期是否满足审计与合规要求,并核对当前占用与文件系统余量,避免在业务高峰期连带影响其他服务。
回收以归档文件为单位,当前正在写入的日志不受影响,所以清理后占用不会立刻降到设定值以下,会随着新归档生成继续收敛。判断效果应看趋势,而不是执行后那一瞬间的数值。