Syslog 日志过大是生产环境中非常常见的问题,通常可以从 收集侧、存储侧、清理侧、分析侧 四个维度来处理。下面按「可立即执行 → 长期治理」的顺序说明。
du -sh /var/log/*
journalctl --disk-usage
# 清空 syslog(CentOS/RHEL)
> /var/log/messages
# Ubuntu/Debian
> /var/log/syslog
# systemd journal
journalctl --vacuum-size=500M
⚠️ 清空前建议先备份或确认无审计需求
只记录必要级别:
*.warning;mail.none;authpriv.none;cron.none /var/log/messages
丢弃无用日志:
:msg, contains, "heartbeat" stop
rsyslog 支持抑制重复:
$RepeatedMsgReduction on
示例 /etc/logrotate.d/syslog:
/var/log/messages {
missingok
notifempty
size 100M
rotate 5
compress
delaycompress
postrotate
/usr/bin/systemctl kill -s HUP rsyslog.service
endscript
}
常用策略:
size 100M 或 dailyrotate 7~30compress# /etc/systemd/journald.conf
SystemMaxUse=500M
MaxRetentionSec=7day
然后:
systemctl restart systemd-journald
*.* @@logserver:514
优点:
日志暴涨常因:
快速定位:
journalctl -p err -b
grep -c "" /var/log/syslog
tail -f /var/log/syslog
✅ 短期:清空 + logrotate
✅ 中期:限制级别 + journal 限制
✅ 长期:集中日志 + 监控告警
如果你愿意,可以告诉我:
我可以直接帮你写 可用配置。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。