我正在使用logstash来跟踪我的日志。 我使用file作为输入,弹性搜索作为输出。 我的配置文件如下所示:
input{
file{
path => "C:\products.logs"
format => "json"
}
}
filter{
}
output{
elasticsearch{
host => localhost
}
}
文件中填充了日志行,每个日志都是这样的:
{"ID":65464,"Name":"Tracker_56213453.xml","sender_sent_time":"10/04/2014 14:14:40","insertion_time":"10/04/2014 14:14:40","Is_Valid":true}
正如您所看到的,有超过1个值保存时间格式。 当我尝试添加此日期过滤器时:
filter{
date{
match=>["insertion_time","dd/MM/YYYY HH:mm:ss"]
}
}
但它没有用。 我究竟做错了什么? 感谢。
答案 0 :(得分:0)
日期的默认target为@timestamp
。如果您想要进行转换,则需要添加target => insertion_time
答案 1 :(得分:0)
您的过滤器应如下所示:
filter{
date{
match=>["insertion_time","dd/MM/YYYY HH:mm:ss"]
locale => "en"
timezone => "UTC"
target => ["insertion_time"]
}
}
答案 2 :(得分:0)
使用它:
for loop