我正在使用logstash将所有文本日志从存储推送到弹性搜索。 我的存储大小约为1 TB。首先,我已经开始将368 GB数据(可能是几十万个文件)推送到弹性搜索,但是logstash失败并出现以下错误。
{:timestamp=>"2014-05-15T00:41:12.436000-0700", :message=>"/root/share/archive_data/sessionLogs/965c6f46-1a5e-4820-a68d-7c32886972fc/Log.txt: file grew, old size 0, new size 1557420", :level=>:debug, :file=>"filewatch/watch.rb", :line=>"81"}
{:timestamp=>"2014-05-15T00:41:12.437000-0700", :message=>":modify for /root/share/archive_data/sessionLogs/965c6f46-1a5e-4820-a68d-7c32886972fc/Log.txt, does not exist in @files", :level=>:debug, :file=>"filewatch/tail.rb", :line=>"77"}
{:timestamp=>"2014-05-15T00:41:12.441000-0700", :message=>"_open_file: /root/share/archive_data/sessionLogs/965c6f46-1a5e-4820-a68d-7c32886972fc/Log.txt: opening", :level=>:debug, :file=>"filewatch/tail.rb", :line=>"98"}
{:timestamp=>"2014-05-15T00:41:12.441000-0700", :message=>"(warn supressed) failed to open /root/share/archive_data/sessionLogs/965c6f46-1a5e-4820-a68d-7c32886972fc/Log.txt: Permission denied - /root/share/archive_data/sessionLogs/965c6f46-1a5e-4820-a68d-7c32886972fc/Log.txt", :level=>:debug, :file=>"filewatch/tail.rb", :line=>"110"}
共享是网络安装的。我正在使用root用户启动logstash。用户应具有安装所需的所有访问权限。 共享目录具有以下访问权限 drwxr-xr-x 44 root root 0 May 13 08:36 share
现在,我的日志文件是静态的,他们不会改变。
所以,我的问题是 - 无论如何让logstash知道在处理一个日志文件后不存储文件句柄。我认为上面的错误发生是因为日志文件的数量很大。
我已经提交了bug并且logstash中存在错误,该错误表示当日志文件数量更多时,logstash不能正常运行。
我在这里看到一些重复的问题,但我想知道是否有人对这类问题有任何经验?
答案 0 :(得分:1)
我认为,对于logstash 1.4.2,唯一的答案是:
我认为没有任何其他方法可以让logstash发布已经处理过的日志文件句柄,并且不会再被添加到日志中。