2014-08-27 188 views
0

我有具有以下格式Logstash日期過濾器

"respHdr":{"date":"Tue,%2008%20Jul%202014%2022:08:18%20GMT","expires":"Tue,%2008%20Jul%202014%2022:08:18%20GMT"} 

如何使用logstash日期過濾器來分析給定的日期格式日期日誌文件?

+0

你能解釋你的日誌含義嗎? – 2014-08-27 10:01:16

+0

你需要使用grok過濾器。關於格式,您可以使用Grok調試器(https://grokdebug.herokuapp.com/)來查看您的logstash grok過濾器是否工作正常。 – 2014-08-27 10:08:48

回答

1

看起來您的日誌是JSON格式,日期字段中帶有URLEncoded值,因此您需要做的第一件事是將codec=>json添加到您的inputjson { source => message }

你有東西在Logstash事件後,你會想解碼日期字段:

urldecode { field => 'respHdr.date' } 
urldecode { field => 'respHdr.expires' } 

然後終於在解析這些領域日期:

date { 
    target => '@timestamp' 
    match => [ 'respHdr.date', 'WHATEVER_FORMAT_THAT_DATE_IS' ] 
} 
date { 
    target => 'expires' 
    match => [ 'respHdr.expires', 'WHATEVER_FORMAT_THAT_DATE_IS' ] 
} 

你需要諮詢logstash date documentation來確定該日期的格式。

+0

非常感謝Alcanzar – 2014-08-28 07:05:34