Sto riempiendo i miei registri in Elasticsearch. Così, per la creazione di un indice in base alla data di registro nel suo timestamp, io uso date
filtro come questo:Timestamp Syslog senza anno?
date {
"locale" => "en"
match => ["timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss", "ISO8601"]
target => "@timestamp"
}
Sto usando i log di syslog, e il formato syslog timestamp non fai avere l'anno:
# Syslog Dates: Month Day HH:MM:SS
SYSLOGTIMESTAMP %{MONTH} +%{MONTHDAY} %{TIME}
Così dopo aver usato il filtro data, l'indice creato è come logstash-2015.12.26
se sto leggendo un log del 26 dicembre 2014. Quindi dal momento che il timestamp non è disponibile nel log, sta selezionando l'anno corrente per impostazione predefinita.
Qualche idea su come creare l'indice corretto?
Quindi, tranne il codice difficile temporanea, ci non c'è qualche soluzione? –
Non credo che ci sia, no. Bene, tranne il reset del tempo sulla macchina su cui si esegue Logstash, ma sarebbe una pessima idea. –