2016-05-22 8 views
0

Ich stehe in kibana mit Zeitmangelproblem. Meine Protokolldateien haben einen älteren Zeitstempel, aber wenn ich die Protokolldateien analysiere, erhält der @ -Zeitstempel den aktuellen Zeitstempel anstelle der ursprünglichen Zeit der Protokolldatei. HierKibana-Zeitstempel einrichten, der dem Zeitstempel meiner Logdatei entspricht

ist ein Beispiel für meine Logfile-Eintrag:

2015-12-25 17:39:45+0000 [SSHChannel session (0) on SSHServicessh-connection on HoneyPotTransport,21438,220.166.50.228] Closing TTYLog: log/tty/20151225-173944-319eb90f.log 

Ich grok bin mit dem Zeitstempel übereinstimmen regex und es in mytimestamp Feld zu speichern.

grok { 

    match => ["message", "(?<mytimestamp>%{YEAR:year}-%{MONTHNUM:month}-%{MONTHDAY:day} %{TIME:time}%{ISO8601_TIMEZONE})"] 

}

Ich bin passende dann mit dem Datum filtern, um die Protokolldatei Zeitstempel Kibana zu verwenden.

#Matches with timestamp 
    date { 
      match => [ "mytimestamp" , "yyyy-MM-dd HH:mm:ss" ] 
     } 

Ich las einige der älteren Fragen auf Stackoverflow und versuchte, mein Problem auf ihnen basiert zu lösen, aber ich denke, ich bin einige wichtige Sache in dieser fehlt.

Antwort

0

Ihr Datumsfilter ist falsch. Mytimestamp enthält eine Zeitzone. So sollte Datum Filter sein:

date { 
    match => [ "mytimestamp" , "yyyy-MM-dd HH:mm:ssZ" ] # <= Z must be added 
}