我试图在windows上解析一个带有logstash的文件夹,但我有一些奇怪的结果。
我有一个文件samplea.log
,内容如下:
1
2
3
4
5
我有一个文件sampleb.log
,内容如下:
6
7
8
9
10
这是我的配置文件:
input {
file {
path=> "C:/monitoring/samples/*.log"
}
}
output {
stdout { debug => "true" }
elasticsearch {
protocol => "transport"
host => "127.0.0.1"
}
}
由于未知的原因,我的控制台上显示的事件是6,7,8,9,并且相同的事件存储在elasticsearch中。我的文件sampleb的最后一行被忽略,整个文件sampleb被忽略。
提前感谢您的帮助。
为了解决这个问题,我用filewatch-0.6.1 gem(原来是filewatch-0.5.1)修补了原始的logstash(1.4.2)发行版
Logstash正在使用返回字符分隔行。
已知错误,内部库使用inode跟踪文件。在Windows上,库使用一个总是返回0的函数。在您的情况下,我认为logstash读取simpleb.log,然后从索引6读取simplea.log,这是文件结束。这里跟踪的Bug: https://github.com/logstash-plugins/logstash-input-file/issues/2