Logstash关闭文件描述符?

Sid*_*kha 13 elasticsearch logstash logstash-grok logstash-file

背景:

我们rsyslog创建了日志文件目录,例如:/var/log/rsyslog/SERVER-NAME/LOG-DATE/LOG-FILE-NAME 因此,多个服务器将不同日期的日志分发到中心位置.

现在阅读这些日志并将它们存储在elasticsearch中进行分析我的logstash配置文件是这样的:

file{
   path => /var/log/rsyslog/**/*.log
}
Run Code Online (Sandbox Code Playgroud)

问题 :

现在,随着目录中日志文件数量的增加,logstash会为新文件打开文件描述符(FD),并且不会为已读取的日志文件释放FD.由于日志文件是按日期生成的,因此一旦读取它,之后就没有用了,因为在该日期之后它不会被更新.

我已将文件开口限制增加到65K in /etc/security/limits.conf

我们可以在一段时间后让logstash关闭句柄,这样打开的文件句柄数量不会增加太多?

And*_*fan 6

我想你可能遇到过这个错误:http://github.com/elastic/logstash/issues/1604.你有相同的症状吗?一段时间后日志中的异常?如果你运行sudo lsof | grep java | wc -l,你会看到描述符随着时间的推移而稳步增长吗?(其中一些可能会关闭,但有些会保持开放状态,而且数量会增加)