Logstash替换@timestamp

时间:2014-10-06 09:34:52

标签: filter elasticsearch logstash

我正在使用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"]
      }
    }

但它没有用。 我究竟做错了什么? 感谢。

3 个答案:

答案 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