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"} 
    } 
}