0

該輸入逗號分隔值不匹配: 「2010-08-19」,「9點12分55秒」,「56095675」自訂日期時間是相同的,但在神交日期濾波器logstash

我創建的自定義date_time字段顯示爲右格式2010-08-19;09:12:55但不匹配。在Kibana

filter { 
grok { 
    match => { "message" => '"(%{GREEDYDATA:cust_date})","(%{TIME:cust_time})","(%{NUMBER:author})"'} 
    add_field => { 
      "date_time" => "%{cust_date};%{cust_time}" 
    } 
} 

date { 
    match => ["date_time", "yyyy-MM-dd;hh:mm:ss"] 
    target => "@timestamp" 
    add_field => { "debug" => "timestampMatched"} 
} 

輸出:

cust_date  August 18th 2010, 20:00:00.000 
cust_time  09:12:55 
date_time  2010-08-19;09:12:55 
message   "2010-08-19","09:12:55","56095675" 
tags  beats_input_codec_plain_applied, _dateparsefailure 

它給_dateparsefailure。這些字段看起來與匹配模式相同。 我試過不同的時間格式,如YYYY-MM-dd;hh:mm:ssYYYY-MM-dd;HH:mm:ss 我做錯了什麼? 幫助!

回答

0

您應該將date插件放在filter部分內,grok之下。

filter { 
    grok { 
     match => { "message" => '"(%{GREEDYDATA:cust_date})","(%{TIME:cust_time})","(%{NUMBER:author})"'} 
    add_field => { 
     "date_time" => "%{cust_date};%{cust_time}" 
    } 

    date { 
     match => ["date_time", "yyyy-MM-dd;hh:mm:ss"] 
     target => "@timestamp" 
     add_field => { "debug" => "timestampMatched"} 
    } 
}