Sorry, I don't get what the problem is. First you said that @timestamp isn't populated but now you say that the date filter works. To me that's contradictory.
It's not.
The "date" field has the correct information, i.e. 20151012 08:57:43.
But @timestamp is not populated correctly with that information when I see it Kibana, instead @timestamp has the date and time of when I imported the data.
Sorry, I misread. Okay, so date is okay and my previous example indicated that the date filter works with the input given and produces a @timestamp with the expected result. I suggest you try the same thing on your side, preferably with a stdout { codec => rubydebug } output. If that also works, inspect the resulting document directly in Elasticsearch. Somewhere along this chain you're going to find the problem.
Your date pattern is wrong. I suspect you have "mm" instead of "MM" for the month. The one-hour difference in the time is because @timestamp is UTC and your timezone is UTC+1 (on Jan 4 anyway; on Oct 4 it's probably UTC+2).
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.