Ich verfüge meine Logs in Elasticsearch. Also für einen Index von Log-Datum der Erstellung in seiner Zeitstempel, verwende ich date
Filter wie folgt aus:Syslog Zeitstempel ohne Jahr?
date {
"locale" => "en"
match => ["timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss", "ISO8601"]
target => "@timestamp"
}
I Protokolle von syslog benutze und syslog Zeitformat doest haben nicht Jahr:
# Syslog Dates: Month Day HH:MM:SS
SYSLOGTIMESTAMP %{MONTH} +%{MONTHDAY} %{TIME}
So Nach dem Verwenden des Datumsfilters ist der erstellte Index wie logstash-2015.12.26
, wenn ich ein Protokoll vom 26. Dezember 2014 lese. Da der Zeitstempel im Protokoll nicht verfügbar ist, wird standardmäßig das aktuelle Jahr ausgewählt.
Irgendeine Idee, wie man den korrekten Index bildet?
Also außer dem temporären Fest Code gibt ist keine Problemumgehung? –
Ich glaube nicht, dass es gibt, nein. Nun, außer dass die Zeit auf der Maschine, auf der Logstash läuft, zurückgesetzt wird, aber das wäre eine wirklich schlechte Idee. –