0

我的日志文件内容如下

55.3.244.1 GET /index.html 15824 0.043
55.3.244.2 GET /index.html 15820 0.049
55.3.244.3 GET /index.html 16780 0.053
55.3.244.4 GET /index.html 16784 0.056
55.3.244.5 GET /index.html 17689 0.059

我的conf文件是这样的

input{
    file{
        path => "C:/ELK/Test/http.log"
        start_position => "beginning"
    }
}
filter{
    grok{
        match => {"message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}"}
    }
}
output{
    stdout{codec => rubydebug}
}

当我执行以下命令时,它通过跳过最后一行 55.3.244.5 GET /index.html 17689 0.059 来显示日志数据。

C:\ELK\logstash-5.1.2\bin>logstash.bat -f test2.conf

在少数论坛中,他们建议在最后一个日志条目之后输入一个新行。我也试过了。使用该选项,它正在读取最后一行并跳过前四个条目!!!!无论如何我不想改变我的输入源文件。

如何克服这个问题?

谢谢

4

1 回答 1

0

似乎您在输入中错过了ignore_older

input{
    file{
        path => "C:/ELK/Test/http.log"
        start_position => "beginning"
        ignore_older => 0
    }
}

看一眼这个线程,可能会有所帮助!

于 2017-02-08T09:40:09.527 回答