大量の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/