Help Setting Up Logstash through Docker on Windows

I am trying to setup and run Logstash through Docker on a Windows machine. I have started with the references on: https://www.elastic.co/guide/en/logstash/current/docker.html#_custom_images

to create a custom image, which builds fine. During the docker build I have a 'config' and 'pipeline' directories with the logstash.yml and logstash.conf

logstash.yml
node.name MunkeTest
http.host 127.0.0.1
http.port 9600
log.level debug
log.format plain

logstash.conf
input { stdin { } }
output {
elasticsearch { hosts => ["localhost:9200"] }
stdout { codec => rubydebug }
}

when I run the container, I get an error message:

19:04:22.625 [main] FATAL logstash.runner - An unexpected error occurred! {:error=>#<ArgumentError: Setting "" hasn't been registered>, :backtrace=>["/usr/share/logstash/logstash-core/lib/logstash/settings.rb:29:in get_setting'&quot;, &quot;/usr/share/logstash/logstash-core/lib/l ogstash/settings.rb:61:inset_value'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:80:in merge'&quot;, &quot;org/jruby/RubyHash.java:1342:ineach'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:80:in merge'&quot;, &quot;/usr/share/logstash/logstash-core/li b/logstash/settings.rb:115:invalidate_all'", "/usr/share/logstash/logstash-core/lib/logstash/runner.rb:210:in execute'&quot;, &quot;/usr/share/logstash/vendor/bundle/jruby/1.9/gems/clamp-0.6.5/lib/clamp/command.rb:67:inrun'", "/usr/share/logstash/logstash-core/lib/logstash/ru
nner.rb:183:in run'&quot;, &quot;/usr/share/logstash/vendor/bundle/jruby/1.9/gems/clamp-0.6.5/lib/clamp/command.rb:132:inrun'", "/usr/share/logstash/lib/bootstrap/environment.rb:71:in `(root)'"]}

I am unsure as to what I need to change to get this up an running. Thanks in advance!

The interesting error message isn't visible in your post. Please edit edit and format the log snippet as preformatted text using the </> toolbar button.

Updated the log trace as pre-formatted text. I am not sure why you couldn't see the log message...

Updated the log trace as pre-formatted text.

No, it's still mostly formatted as regular text.

I am not sure why you couldn't see the log message...

Because the error message is between angle brackets (like this: <bad error message here>) and stuff between angle brackets is assumed to be HTML and is removed. Specifically, I'm missing something after "#" in this snippet:

An unexpected error occurred! {:error=>#,

I changed out the HTML bits (", > <), but the preformatted button does nothing. I added the tags around and the preview panel does not really show anything. My preview and screen show the full text of the log message. Thanks for your patience (and help) with this problem before the actual problem!

Thanks, now the error message is clear:

ArgumentError: Setting "" hasn't been registered

Turning to your logstash.yml...

node.name MunkeTest

...don't you have a colon after "node.name"?

1 Like

Nope...thought I copied the line from the example, but I may have missed something. Does each line need a semi-colon after?

Even with a semi-colon, the same error is given. I tried changing the node.name to the same as the docker run command "munkelog" but same.

Nevermind...you were right, I just need to pay attention: COLON not semi-colon. Everything is running now! Thanks again for your patience!

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.