title: I have deployed elk and rabbitmq,but logstash can't consume messages from rabbitmq
body: <p>My programming language is C#. I have deployed ELK and rabbitmq on my computer. Now I want to use Logstash connect to RabbitMQ to consume RabbitMQ messages.But it doesn't work when I start logstash, and give me some errors like this:</p>
  
  <pre><code>PS D:\ELK\logstash-5.6.4\bin&gt; .\logstash -f logstash.conf
  Sending Logstash's logs to D:/ELK/logstash-5.6.4/logs which is now configured via log4j2.properties
  [2019-07-05T17:17:21,042][INFO ][logstash.modules.scaffold] Initializing module {:module_name=&gt;"fb_apache", :directory=&gt;"D:/ELK/logstash-5.6.4/modules/fb_apache/configuration"}
  [2019-07-05T17:17:21,047][INFO ][logstash.modules.scaffold] Initializing module {:module_name=&gt;"netflow", :directory=&gt;"D:/ELK/logstash-5.6.4/modules/netflow/configuration"}`enter code here`
  [2019-07-05T17:17:22,159][INFO ][logstash.outputs.elasticsearch] Elasticsearch pool URLs updated {:changes=&gt;{:removed=&gt;[], :added=&gt;[http://127.0.0.1:9200/]}}
  [2019-07-05T17:17:22,160][INFO ][logstash.outputs.elasticsearch] Running health check to see if an Elasticsearch connection is working {:healthcheck_url=&gt;http://127.0.0.1:9200/, :path=&gt;"/"}
  [2019-07-05T17:17:22,251][WARN ][logstash.outputs.elasticsearch] Restored connection to ES instance {:url=&gt;"http://127.0.0.1:9200/"}
  [2019-07-05T17:17:22,285][INFO ][logstash.outputs.elasticsearch] Using mapping template from {:path=&gt;nil}
  [2019-07-05T17:17:22,288][INFO ][logstash.outputs.elasticsearch] Attempting to install template {:manage_template=&gt;{"template"=&gt;"logstash-*", "version"=&gt;50001, "settings"=&gt;{"index.refresh_interval"=&gt;"5s"}, "mappings"=&gt;{"_default_"=&gt;{"_all"=&gt;{"enabled"=&gt;true, "norms"=&gt;false}, "dynamic_templates"=&gt;[{"message_field"=&gt;{"path_match"=&gt;"message", "match_mapping_type"=&gt;"string", "mapping"=&gt;{"type"=&gt;"text", "norms"=&gt;false}}}, {"string_fields"=&gt;{"match"=&gt;"*", "match_mapping_type"=&gt;"string", "mapping"=&gt;{"type"=&gt;"text", "norms"=&gt;false, "fields"=&gt;{"keyword"=&gt;{"type"=&gt;"keyword", "ignore_above"=&gt;256}}}}}], "properties"=&gt;{"@timestamp"=&gt;{"type"=&gt;"date", "include_in_all"=&gt;false}, "@version"=&gt;{"type"=&gt;"keyword", "include_in_all"=&gt;false}, "geoip"=&gt;{"dynamic"=&gt;true, "properties"=&gt;{"ip"=&gt;{"type"=&gt;"ip"}, "location"=&gt;{"type"=&gt;"geo_point"}, "latitude"=&gt;{"type"=&gt;"half_float"}, "longitude"=&gt;{"type"=&gt;"half_float"}}}}}}}}
  [2019-07-05T17:17:22,296][INFO ][logstash.outputs.elasticsearch] New Elasticsearch output {:class=&gt;"LogStash::Outputs::ElasticSearch", :hosts=&gt;["//127.0.0.1:9200"]}
  [2019-07-05T17:17:22,300][INFO ][logstash.pipeline        ] Starting pipeline {"id"=&gt;"main", "pipeline.workers"=&gt;4, "pipeline.batch.size"=&gt;125, "pipeline.batch.delay"=&gt;5, "pipeline.max_inflight"=&gt;500}
  [2019-07-05T17:17:22,315][INFO ][logstash.pipeline        ] Pipeline main started
  The stdin plugin is now waiting for input:
  SLF4J: Class path contains multiple SLF4J bindings.
  SLF4J: Found binding in [jar:file:/D:/ELK/logstash-5.6.4/logstash-core/lib/org/apache/logging/log4j/log4j-slf4j-impl/2.6.2/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
  SLF4J: Found binding in [jar:file:/D:/ELK/logstash-5.6.4/vendor/bundle/jruby/1.9/gems/march_hare-3.0.0-java/lib/ext/slf4j-simple.jar!/org/slf4j/impl/StaticLoggerBinder.class]
  SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
  SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
  [2019-07-05T17:17:22,414][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=&gt;9600}
  [2019-07-05T17:17:22,415][INFO ][logstash.inputs.rabbitmq ] Connected to RabbitMQ at
  [2019-07-05T17:17:22,416][WARN ][logstash.inputs.rabbitmq ] Error while setting up connection for rabbitmq input! Will retry. {:message=&gt;"no method 'queueDeclare' for arguments (org.jruby.RubyString,org.jruby.RubyBoolean.False,org.jruby.RubyBoolean.False,org.jruby.RubyBoolean.False,org.jruby.RubyArray) on Java::ComRabbitmqClientImpl::ChannelN\n  available overloads:\n    (java.lang.String,boolean,boolean,boolean,java.util.Map)\n    (java.lang.String,boolean,boolean,boolean,java.util.Map)", :class=&gt;"NameError", :location=&gt;"D:/ELK/logstash-5.6.4/vendor/bundle/jruby/1.9/gems/march_hare-3.0.0-java/lib/march_hare/channel.rb:500:in `queue_declare'"}
  [2019-07-05T17:17:23,418][WARN ][logstash.inputs.rabbitmq ] Error while setting up connection for rabbitmq input! Will retry. {:message=&gt;"no method 'queueDeclare' for arguments (org.jruby.RubyString,org.jruby.RubyBoolean.False,org.jruby.RubyBoolean.False,org.jruby.RubyBoolean.False,org.jruby.RubyArray) on Java::ComRabbitmqClientImpl::ChannelN\n  available overloads:\n    (java.lang.String,boolean,boolean,boolean,java.util.Map)\n    (java.lang.String,boolean,boolean,boolean,java.util.Map)", :class=&gt;"NameError", :location=&gt;"D:/ELK/logstash-5.6.4/vendor/bundle/jruby/1.9/gems/march_hare-3.0.0-java/lib/march_hare/channel.rb:500:in `queue_declare'"}
  </code></pre>
  
  <p>I can't understand these errors. And rabbitmq messages are always the ready status with no one has acked.
  As far as I can see, it must be some config errors. I tried to change my configs of logstash, but it's still no effect. My LogStash config likes this:</p>
  
  <pre><code>input{
      stdin{}
      rabbitmq{
          host =&gt; "192.168.88.204"
          port =&gt; 5672
          user =&gt; "admin"
          password =&gt; "123456"
          queue =&gt; "Poly_Log"
          durable =&gt; false
          auto_delete =&gt; false        
          exchange =&gt; "Poly_Log"
          exchange_type =&gt; "direct"
          key =&gt; "Poly_Log"
          prefetch_count  =&gt; 256
          ack =&gt; true
          exclusive =&gt; false
          heartbeat =&gt; 20
          arguments =&gt; [{ "x-message-ttl" =&gt; 120000 }, { "x-max-length-bytes" =&gt; 314572800 }]
      }
  }
  filter{
  }
  output{
      stdout{
          codec =&gt; rubydebug
      }
      elasticsearch{
          hosts =&gt; ["127.0.0.1:9200"]
          index =&gt; "logstash-log-%{+YYYY.MM.dd}"
      }
      file{
          path =&gt; "/tmp/logstash-log-%{+YYYY.MM.dd}"
      }
  }
  </code></pre>
  
  <p>Please help me to solve this problem. I will be deeply grateful.</p>