Hi,
I'm running logstash in a k8s cluster using the logstash helm chart.
I have a .env file from which I create a k8s secret, which is used within logstash.
in my .env, I have my hosts defined like: ES_NODES="elk1.host.cloud.com elk2.host.cloud.com elk3.host.cloud.com"
and in elastic ouput: hosts => "${ES_NODES}"
This should be correct,
according to an older topic
Yet all I get is the error:
Failed to execute action {:action=>LogStash::PipelineAction::Create/pipeline_id:main, :exception=>"Java::JavaLang::IllegalStateException", :message=>"Unable to configure plugins: Illegal character in scheme name at index 0: \"elk1.host.cloud.com"
for info, I had the same prob and solved it with help of this post:
in short its to do with quotes around the environment variable. In my case I was using docker compose to pass in the environment variable and it seems the initial " character was being passed right through and then being considered part of the URL. Take away the quotes around the list of servers in my docker compose file and it all works. Suspect similar behaviour happening in with other docker / k8s descriptors
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.