2017-04-03 96 views
1

我需要解析日誌中的日期和時間戳以顯示在@timestamp字段中。我能夠解析時間戳,但沒有日期。在logstash中使用grok過濾器解析日期時出錯

輸入登錄:

"2010-08-18","00:01:55","text" 

我的篩選:

grok { 
    match => { "message" => '"(%{DATE})","(%{TIME})","(%{GREEDYDATA:message3})"’} 
} 

這裏DATE拋出grokparsefailure。 也不知道如何更新@timestamp字段。

感謝您的幫助。

回答

0

%{DATE}模式不是你想要的。它正在尋找M/D/Y,M-D-Y,D-M-Y或D/M/Y格式的東西。

對於這樣一個文件,你可以考慮使用CSV過濾器:

filter { 
    csv { 
    columns => ["date","time","message3"] 
    add_filed => { 
     "date_time" => "%{date} %{time}" 
    } 
    } 
    date { 
    match => [ "date_time", "yyyy-MM-dd HH:mm:ss" ] 
    remove_field => ["date", "time", "date_time" ] 
    } 
} 

這將處理情況message3已經嵌入已逃過它的報價情況。