2017-01-30 1 views
0

meiner Protokolldatei Inhalt ist als untennicht in der Lage, die letzte Zeile meiner Protokolldatei lesen logstash mit

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 

und meine conf Datei geht so

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} 
} 

, wenn ich den folgenden Befehl ausgeführt , es zeigte die Protokolldaten durch Überspringen der letzten Zeile 55.3.244.5 GET /index.html 17689 0.059.

In einigen Foren schlagen sie vor, nach dem letzten Protokolleintrag eine neue Zeile einzugeben. Das habe ich auch versucht. Mit dieser Option las es die letzte Zeile und übersprang die ersten vier Einträge !!!! Jedenfalls möchte ich meine Eingabequellendatei nicht ändern.

Wie wird dieses Problem gelöst?

Dank

+0

Was ist die * Version * von Logstash, die Sie verwenden? – Kulasangar

Antwort

0

Scheint, wie Sie verpassten ignore_older in Ihrem Eingang:

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

Ein Blick auf diese thread könnte hilfreich sein!

Verwandte Themen