首页 > 解决方案 > Logstash 上的 MongoDB 错误启动 admin.listCollections | 失败 | 参数数量错误(给定 2,预期 1)

问题描述

我想通过 Logstash 将 MongoDB 连接到 elasticsearch。我正在使用 logstash-input-mongodb 插件。这是我的 logstash.conf 文件:

input {
mongodb {
    uri => "mongodb://system:pwd@my.db.com:00001/?authSource=admin&ssl=false"
    collection => 'local.coll'
    placeholder_db_dir => 'data'
    placeholder_db_name => 'log-mongo-connected'

  }
}

output {

 elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "simpleindex"
  #  user => "elastic"
  #  password => "changeme"
  }
}

这是我得到的错误日志中的一个快照:

[INFO ][logstash.inputs.mongodb  ][log-pipe-id1] Registering MongoDB input
 DEBUG -- : MONGODB | [7] my.db.com:00001 #1 | admin.saslStart | STARTED | {}
 DEBUG -- : MONGODB | [7] my.db.com:00001 | admin.saslStart | SUCCEEDED | 0.044s
 DEBUG -- : MONGODB | [8] my.db.com:00001 #1 | admin.saslContinue | STARTED | {}
 DEBUG -- : MONGODB | [8] my.db.com:00001 | admin.saslContinue | SUCCEEDED | 0.036s
 DEBUG -- : MONGODB | [9] my.db.com:00001 #1 | admin.saslContinue | STARTED | {}
 DEBUG -- : MONGODB | [9] my.db.com:00001 | admin.saslContinue | SUCCEEDED | 0.034s
 DEBUG -- : MONGODB | [10] my.db.com:00001 #1 | admin.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "lsid"=>{"id"=><BSON::Binary:0x2066 type=uuid data=0x823cc844d3df41b6...>}}
 DEBUG -- : MONGODB | [10] my.db.com:00001 | admin.listCollections | FAILED | wrong number of arguments (given 2, expected 1) | 0.043s
[ERROR][logstash.javapipeline    ][log-pipe-id1] Pipeline aborted due to error {:pipeline_id=>"log-pipe-id1", :exception=>#<ArgumentError: wrong number of arguments (given 2, expected 1)>, :backtrace=>["C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/bson-4.8.1-java/lib/bson/array.rb:125:in `from_bson'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/bson-4.8.1-java/lib/bson/hash.rb:118:in `from_bson'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/dbref.rb:104:in `from_bson'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/bson-4.8.1-java/lib/bson/hash.rb:118:in `from_bson'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/dbref.rb:104:in `from_bson'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/protocol/serializers.rb:268:in `deserialize'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/protocol/serializers.rb:211:in `deserialize'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/protocol/message.rb:319:in `deserialize_field'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/protocol/message.rb:160:in `block in deserialize'", "org/jruby/RubyArray.java:1814:in `each'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/protocol/message.rb:156:in `deserialize'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/server/connection_base.rb:109:in `block in deliver'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/server/connectable.rb:83:in `ensure_connected'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/server/connection_base.rb:100:in `deliver'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/server/connection.rb:395:in `deliver'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/server/connection_base.rb:93:in `dispatch'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/operation/shared/executable.rb:56:in `block in dispatch_message'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/server/connection_pool.rb:557:in `with_connection'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/server.rb:417:in `with_connection'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/operation/shared/executable.rb:55:in `dispatch_message'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/operation/shared/executable.rb:50:in `get_result'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/operation/shared/executable.rb:29:in `block in do_execute'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/operation/shared/response_handling.rb:87:in `add_server_diagnostics'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/operation/shared/executable.rb:28:in `block in do_execute'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/operation/shared/response_handling.rb:43:in `add_error_labels'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/operation/shared/executable.rb:27:in `block in do_execute'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/operation/shared/response_handling.rb:73:in `unpin_maybe'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/operation/shared/executable.rb:26:in `do_execute'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/operation/shared/executable.rb:38:in `execute'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/operation/shared/op_msg_or_command.rb:27:in `execute'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/operation/collections_info.rb:44:in `execute'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/database/view.rb:168:in `send_initial_query'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/database/view.rb:58:in `block in collection_names'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/retryable.rb:61:in `block in read_with_retry_cursor'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/retryable.rb:316:in `modern_read_with_retry'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/retryable.rb:117:in `read_with_retry'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/retryable.rb:60:in `read_with_retry_cursor'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/database/view.rb:57:in `collection_names'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/mongo-2.11.3/lib/mongo/database.rb:120:in `collection_names'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/logstash-input-mongodb-0.4.1/lib/logstash/inputs/mongodb.rb:137:in `get_collection_names'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/logstash-input-mongodb-0.4.1/lib/logstash/inputs/mongodb.rb:156:in `update_watched_collections'", "C:/pfe/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/logstash-input-mongodb-0.4.1/lib/logstash/inputs/mongodb.rb:182:in `register'", "C:/pfe/logstash-7.6.0/logstash-core/lib/logstash/java_pipeline.rb:200:in `block in register_plugins'", "org/jruby/RubyArray.java:1814:in `each'", "C:/pfe/logstash-7.6.0/logstash-core/lib/logstash/java_pipeline.rb:199:in `register_plugins'", "C:/pfe/logstash-7.6.0/logstash-core/lib/logstash/java_pipeline.rb:310:in `start_inputs'", "C:/pfe/logstash-7.6.0/logstash-core/lib/logstash/java_pipeline.rb:270:in `start_workers'", "C:/pfe/logstash-7.6.0/logstash-core/lib/logstash/java_pipeline.rb:154:in `run'", "C:/pfe/logstash-7.6.0/logstash-core/lib/logstash/java_pipeline.rb:109:in `block in start'"], "pipeline.sources"=>["C:/pfe/logstash-7.6.0/config/logstash-sample.conf"], :thread=>"#<Thread:0x978e110 run>"}
[logstash.agent           ] Failed to execute action {:id=>:"log-pipe-id1", :action_type=>LogStash::ConvergeResult::FailedAction, :message=>"Could not execute action: PipelineAction::Create<log-pipe-id1>, action_result: false", :backtrace=>nil}
[logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}
[INFO ][logstash.runner          ] Logstash shut down.

请帮忙。谢谢你。

标签: ruby-on-railsmongodbelasticsearchlogstash

解决方案


推荐阅读