0

我是 logstash 的新手,在我动手的过程中,我可以看到 logstash 不处理日志文件的最后一行。

我的日志文件很简单,只有 10 行,我已经配置了过滤器来处理一个/两个字段并将 json 结果输出到一个新文件。

因此,当 logstash 运行时,我打开受监控的文件并在文件末尾添加一行并保存。没发生什么事。现在我再添加一行,前一个事件显示在输出文件中,下一个事件也是如此。

如何解决这种行为?我的用例/配置有问题吗?

# The # character at the beginning of a line indicates a comment. Use
# comments to describe your configuration.
input {
    file {
        path => "C:\testing_temp\logstash-test01.log"
        start_position => beginning 
    }
}
# The filter part of this file is commented out to indicate that it is
# optional.
filter {
    grok {
        match => { "message" => "%{IP:clientip} pssc=%{NUMBER:response} cqhm=%{WORD:HTTPRequest}"}
    }
    geoip {
        source => "clientip"
    }
}
output {
    file {
    path => "C:\testing_temp\output.txt"
}
}
4

1 回答 1

0

请确保在手动插入时在行尾添加一个换行符。Logstash 将在检测到该行“完成”后立即获取您的更改。

你的用例没问题。如果添加:

stdout { codec => rubydebug }

在您的输出部分,您将立即在控制台中看到事件(非常适合调试/测试)。

于 2015-11-13T13:20:02.003 回答