Ubuntu Syslog配置与优化指南
一 基础架构与关键概念
二 快速优化清单
三 关键配置示例
调整 rsyslog 日志级别与分流(示例)
*.warning;mail.none;authpriv.none;cron.none /var/log/syslog
auth,authpriv.* /var/log/auth.log
cron.* /var/log/cron.log
kern.* /var/log/kern.log
authpriv.=warning /var/log/auth-warn.log。修改后执行:sudo systemctl restart rsyslog 使配置生效。配置日志轮转(/etc/logrotate.d/rsyslog 示例)
/var/log/syslog {
size 100M
rotate 7
compress
delaycompress
missingok
notifempty
create 0640 root adm
postrotate
/usr/lib/rsyslog/rsyslog-rotate
endscript
}
postrotate 通知 rsyslog 重新打开日志文件。测试可用:sudo logrotate -d /etc/logrotate.d/rsyslog(调试),sudo logrotate -f /etc/logrotate.d/rsyslog(强制执行)。远程日志转发
*.* @192.0.2.10:514*.* @@192.0.2.10:514sudo systemctl restart rsyslog。注意网络与防火墙策略。限制 journald 日志体积
sudo journalctl --vacuum-size 500Msudo journalctl --vacuum-time 7dSystemMaxUse=500M、MaxRetentionSec=7day,然后重启:sudo systemctl restart systemd-journald。这将避免 journal 长期膨胀。四 维护与排错
sudo rsyslogd -N1,再重启服务 sudo systemctl restart rsyslog,确保不中断业务。sudo logrotate -d 做干跑验证,确认不会误删或漏轮转;必要时强制执行并观察 /var/log 是否按策略生成与压缩归档。sudo du -sh /var/log,必要时临时清理旧压缩日志或执行 sudo journalctl --vacuum-size 100M 快速回收空间,随后再完善轮转与级别策略。