CentOS Syslog性能瓶颈定位与优化
一 快速定位瓶颈
systemctl status rsyslog、journalctl -u rsyslog -b、tail -f /var/log/messages。二 常见瓶颈与对策
/etc/systemd/journald.conf:设置 RateLimitInterval=30s、RateLimitBurst=10000(或 RateLimitBurst=0 关闭限制)。/etc/rsyslog.conf:设置 $imjournalRatelimitInterval 30、$imjournalRatelimitBurst 10000(或 $imjournalRatelimitInterval 0 关闭限制)。systemctl restart systemd-journald rsyslog。mail.* -/var/log/maillog;减少不必要的同步动作与过度规则匹配。/etc/rsyslog.conf 与 /etc/rsyslog.d/*.conf,合并/删除无效规则,禁用不需要的输入/输出模块。tail/less 变慢、磁盘写放大。rsyslogd 占用内存持续升高。/var/lib/rsyslog/imjournal.state 并重启服务(先备份)。systemd 为 rsyslog 设置更高的 文件描述符 与内存/CPU 限额,确保磁盘与 inode 充足。三 推荐配置示例
[Journal]
RateLimitInterval=30s
RateLimitBurst=10000
$imjournalRatelimitInterval 30
$imjournalRatelimitBurst 10000
mail.* -/var/log/maillog
cron.* -/var/log/cron
# 客户端示例(/etc/rsyslog.conf)
*.* @@192.0.2.10:514
修改后执行:systemctl restart systemd-journald rsyslog。上述参数可按实际流量与可靠性需求再微调。四 维护与扩容建议
journalctl -u rsyslog -f 观察实时日志,配合监控平台对队列、丢日志、磁盘与 I/O 设置阈值告警。