rsyslogの書き込みレート制限の設定を変更する

大量のSQLログが発生した時、SQLログがsyslogに記録されない事があった。

/var/log/messages を見ると、以下のようなログが残っていた。

rsyslogd-2177: imuxsock begins to drop messages from pid 25784 due to rate-limiting

「imuxsock」により、書き込みが制御されたようである。

これを許容するには、rsyslog.conf に以下を設定する。

$ModLoad imuxsock・・・記載があることを確認

$SystemLogRateLimitInterval [number]
$SystemLogRateLimitBurst [number]

SystemLogRateLimitInterval で指定された間に SystemLogRateLimitBurst の書き込みが発生すると、制限がかかる。

デフォルトでは、5秒、200メッセージに設定されている。

SystemLogRateLimitInterval の値を小さくするか、SystemLogRateLimitBurst の値を大きく設定して調整すれば良い。

設定後は、rsyslog を再起動

# /etc/init.d/rsyslog restart


参考;
rsyslog:rate limiting
http://www.rsyslog.com/tag/rate-limiting/