POLLERR occurred while idle; fd='xx' でログが埋まる

syslog-ng にしたら /var/log/messages が

syslog-ng[18731]: POLLERR occurred while idle; fd='12'
syslog-ng[18731]: POLLERR occurred while idle; fd='13'
syslog-ng[18731]: POLLERR occurred while idle; fd='12'
syslog-ng[18731]: POLLERR occurred while idle; fd='13'
syslog-ng[18731]: POLLERR occurred while idle; fd='12'
syslog-ng[18731]: POLLERR occurred while idle; fd='13'

で埋め尽くされるという恐ろしい事になったのでメモ。


原因:syslog-ng のフィルタで走らせてるスクリプトが腐ってた

ssh への攻撃自動遮断スクリプトが syslog-ng から標準入力でデータを受け取る前にエラーを吐いて死亡。
そのせいで syslog-ng がデータを渡せずに内部で(たぶん)リトライループしていた模様。


気付かないとディスクを埋め尽くしちゃうのでちょっと怖い挙動。