I have a logstash instance running as a docker continer. Since it is using only a single pipeline, I've not bothered configuring the pipeline.yml. Instead, I've defined the pipeline params in the logstash.yml file itself:
When I observe the logstash instance and the pipeline via a separate LS monitoring instance, the name of the pipeline is always "main". Even the logs generated by LS is always having "main" as the pipeline name. What gives? The official doc suggests that pipeline.id is what should be used to change the name of the pipeline.
Yes, it's by default. If you want to change it, set pipeline.id as you did.
In log will something like this: [INFO ][logstash.javapipeline ][ls] Starting pipeline {:pipeline_id=>"ls", "pipeline.workers"=>...
It's a simple docker-compose.yml file with the service. I know that it's reading the pipeline files. As for the logstash.yml, I believe it's reading the file since I was experimenting with the batch and timeout parameters. A restart promptly applys those changs.
Thx. I had a gut feel it was something trivial. The docker container had a pipeline.yml which had main in it. So it took that into account. Whatever was not part of pipeline.yml, it refered to my logstash.yml. Hence I was able to set all my batch and workers, but just not the pipeline id.
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.