logstash将字符串转换为日期

时间:2018-01-25 15:08:34

标签: elasticsearch logstash kibana

我想在logstash中将字符串转换为日期。 我尝试用2个解决方案做到这一点,但它没有用。

1)with mutate / convert

grok {match => {"message" => '%{TIMESTAMP_ISO8601:log_date} - %{GREEDYDATA:key}:%INT:value}'}
mutate {convert => ["log_date", "date"]}

2)日期/目标:

date {match => [ "value", "dd-MMM-yyyy HH:mm:ss.ZZZ"] target => "value"}

由于

2 个答案:

答案 0 :(得分:0)

根据您的第一次尝试,您在单独的字段中没有日期字符串。在这种情况下,我会建议:

  

Add extra value to field before sending to elasticsearch

答案 1 :(得分:0)

感谢您的回答我找到了日期过滤器的解决方案。

filter { grok {match => {"message" => '%{TIMESTAMP_ISO8601:log_date} - %{GREEDYDATA:key}:%INT:value}'}

date {
  match => [ "log_date", "ISO8601", "YYYY-MM-dd HH:mm:ss", "YYYY-MM-dd HH:mm:ss.ZZZ" ]
  target => "log_date"
  locale => "en"
}
相关问题