我正在使用logstash将数据从文件拍推送到elasticsearch。我的数据时间为hh:mm:ss a
(05:21:34 AM)。我想在上面加上今天的日期。这是logstash配置的过滤器
filter{
grok{ some grok pattern to get time}
date {
locale => "en"
match => ["time", "hh:mm:ss a"]
target => "@timestamp"
}
}
但是数据转换为2016-01-01T05:21:34.000Z
我该如何更改为2016-10-14T05:21:34.000Z
?
我认为logstash足够聪明,可以使用当前年份(如您所见),但是它没有默认其他字段。
您应该使用所需的完整日期时间字符串创建一个新字段。这样的事情应该在您的骗子和日期之间起作用:
grok { }
mutate {
add_field => { "datetime" => "%{+YYYY.MM.dd} %{time}" }
}
date { }
确保更改日期{}模式以使用新的datetime字段及其格式。如果您不希望调用date {}之后的datetime字段,则可以改用元数据字段,也可以使用remove_field作为date {}的一部分。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句