12
votes

I am using Filebeat to ship log data from my local txt files into Elasticsearch, and I want to add some fields from the message line to the event - like timestamp and log level. For example here is one of my log lines:

2016-09-22 13:51:02,877 INFO 'start myservice service'

My question is: Can I do that by Filebeat -> Elasticsearch or must I go through Logstash?

1
You could conceivably use the dissect processor within filebeat: elastic.co/guide/en/beats/filebeat/current/dissect.htmlndtreviv

1 Answers

12
votes

You can use Filebeat -> Elasticsearch if you make use of the Ingest Node feature in Elasticsearch 5.0. Otherwise, yes, you need to use Logstash.

In both cases you would use a grok filter to parse the message line into structured data. Also you'll want to use a date to parse and normalize the date.