2016-05-22 118 views
0

我正面臨時間匹配問題的基巴那。我的日誌文件有一個較舊的時間戳,但是當我解析日誌文件時,@timestamp會選擇當前時間戳,而不是日誌文件的原始時間。設置相當於我的日誌文件時間戳的Kibana時間戳

這是我的日誌條目的示例:

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 

我使用神交匹配使用正則表達式並將其存儲在mytimestamp領域的時間戳。

grok { 

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

}

我然後用日期過濾器匹配,使kibana使用日誌文件的時間戳。

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

我看了一些關於計算器上了年紀的問題,並試圖根據他們我要解決的問題,但我想我缺少在這一些關鍵的事情。

回答

0

你的日期過濾器是錯誤的。 mytimestamp包含一個時區。所以日期過濾器應該是:

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