Sadly the results from the above configuration are unexpected , after matching time it is taking all lines as single event , but i want to parse each line separately and push it into ES as individual doc's
The multiline filter has been deprecated, so you should not use it. You should always look to perform multiline processing as close to the source as possible. If you are using Filebeat, then that is where it should be done. If you need to do it in Logstash, you should instead use the multiline codec.
Multiline just groups lines, it does not take a line and add it to others. For this you probably need to group it all into one event, extract the timestamp and other data from the initial line before splitting up the event using a split or ruby filter.
Could you please explain in-depth , i have not worked on ruby-filter , please give an example of how to group all data into single event and break them using ruby
Sorry!! i didn't understand the code , i tried to run it but it is giving some waring messages :
[2018-06-14T18:06:43,046][WARN ][org.logstash.dissect.Dissector] Dissector mapping, field found in event but it was empty {"field"=>"message", "event"=>{"@version"=>"1", "tags"=>["_dissectfailure"],
I updated it as I noticed you have variable number of spaces in between fields as well. If it is still not working, read through the dissect documentation and go through the config step by step as described in this blog post.
I have tried many ways went through documentation, but no luck in message only it is reading TCP|UDP lines , i am not getting why first part of dissect is not functioning ...!!
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.