I am using filebeat in docker. I use it to send all my containers' logs from /some/docker/dir/*-json.log to logstash. To make this work simply, I configure all of my services to write single-line, JSON log messages.
However, when setting logging.json = true in filebeat.yml, i get:
2017/12/19 22:39:31.688518 filebeat.go:261: {"level":"WARN","message":"Filebeat is unable to load the Ingest Node pipelines for the configured modules because the Elasticsearch output is not configured/enabled. If you have already loaded the Ingest Node pipelines or are using Logstash pipelines, you can ignore this warning.","timestamp":"2017-12-19T22:39:31Z"}
when I expect a pure JSON string,
{"level":"WARN","message":"Filebeat is unable to load the Ingest Node pipelines for the configured modules because the Elasticsearch output is not configured/enabled. If you have already loaded the Ingest Node pipelines or are using Logstash pipelines, you can ignore this warning.","timestamp":"2017-12-19T22:39:31Z"}
The first statement is not JSON, it's a string with some JSON contained within.
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.