【问题标题】:Logstash warning (hanshaking error) when connecting with MongoDB与 MongoDB 连接时出现 Logstash 警告(hanshaking 错误)
【发布时间】:2020-10-05 09:00:10
【问题描述】:

我正在尝试将一些由 Logstash 过滤的 JSON 数据日志存储在 MongoDB 集合中。 Mongod 实例和 Logstash 在同一台笔记本电脑上的 Windows 8.1 上运行,我还安装了 logstash-output-mongodb 插件。

我的logstash配置文件在这里:

# Sample Logstash configuration for receiving
# file data and importing to mongoDB

input {
  file {
    id => "my_input_plugin_id"
    path => ["C:/data/input/*.json"]
  }
}

filter {

}

output {
  stdout {
    }
  mongodb {
    uri => "mongodb://127.0.0.1:27017/test"
    database => "test"
    collection => "resultsFromLogstash"
  }
}

当我运行 Logstash 时,我收到两个警告:

C:\logstash-7.9.2>.\bin\logstash.bat -f .\config\syslog.conf
Sending Logstash logs to C:/logstash-7.9.2/logs which is now configured via log4j2.properties
[2020-10-05T12:57:22,787][INFO ][logstash.runner          ] Starting Logstash {"logstash.version"=>"7.9.2", "jruby.version"=>"jruby 9.2.13.0 (2.5.7) 2020-08-039a89c94bcc Java HotSpot(TM) 64-Bit Server VM 25.261-b12 on 1.8.0_261-b12 +indy +jit [mswin32-x86_64]"}
[2020-10-05T12:57:23,131][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[2020-10-05T12:57:25,866][INFO ][org.reflections.Reflections] Reflections took 36 ms to scan 1 urls, producing 22 keys and 45 values
[2020-10-05T12:57:39,774][WARN ][logstash.outputs.mongodb ][main] MONGODB | Failed to handshake with 127.0.0.1:27017: ArgumentError: wrong number of arguments (given 2, expected 1)
[2020-10-05T12:57:39,798][WARN ][logstash.outputs.mongodb ][main] MONGODB | Error running ismaster on 127.0.0.1:27017: ArgumentError: wrong number of arguments (given 2, expected 1)
[2020-10-05T12:57:40,624][INFO ][logstash.javapipeline    ][main] Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>4, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50, "pipeline.max_inflight"=>500, "pipeline.sources"=>["C:/logstash-7.9.2/config/syslog.conf"], :thread=>"#<Thread:0x93192ab run>"}
[2020-10-05T12:57:41,906][INFO ][logstash.javapipeline    ][main] Pipeline Java execution initialization time {"seconds"=>1.27}
[2020-10-05T12:57:42,780][INFO ][logstash.inputs.file     ][main] No sincedb_path set, generating one based on the "path" setting {:sincedb_path=>"C:/logstash-7.9.2/data/plugins/inputs/file/.sincedb_4b1f12191afab8d266f039bc3ec0ad9c", :path=>["C:/data/input/*.json"]}
[2020-10-05T12:57:42,820][INFO ][logstash.javapipeline    ][main] Pipeline started {"pipeline.id"=>"main"}
[2020-10-05T12:57:42,945][INFO ][logstash.agent           ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
[2020-10-05T12:57:42,947][INFO ][filewatch.observingtail  ][main][my_input_plugin_id] START, creating Discoverer, Watch with file and sincedb collections
[2020-10-05T12:57:43,554][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}
[2020-10-05T12:57:49,944][WARN ][logstash.outputs.mongodb ][main] MONGODB | Failed to handshake with 127.0.0.1:27017: ArgumentError: wrong number of arguments (given 2, expected 1)
[2020-10-05T12:57:49,948][WARN ][logstash.outputs.mongodb ][main] MONGODB | Error running ismaster on 127.0.0.1:27017: ArgumentError: wrong number of arguments (given 2, expected 1)

在 mongod 方面:

2020-10-05T12:57:39.620+0200 I  NETWORK  [listener] connection accepted from 127.0.0.1:64554 #167 (2 connections now open)
2020-10-05T12:57:39.685+0200 I  NETWORK  [conn167] received client metadata from 127.0.0.1:64554 conn167: { driver: { name: "mongo-ruby-driver", version: "2.13.0" }, os: { type: "mswin", name: "mswin32", architecture: "x86_64" }, platform:"JRuby 9.2.13.0, like Ruby 2.5.7, java, JVM 1.8.0_261, java1.8" }
2020-10-05T12:57:41.851+0200 I  NETWORK  [conn167] end connection 127.0.0.1:64554 (1 connection now open)
2020-10-05T12:57:49.937+0200 I  NETWORK  [listener] connection accepted from 127.0.0.1:64563 #168 (2 connections now open)
2020-10-05T12:57:49.940+0200 I  NETWORK  [conn168] received client metadata from 127.0.0.1:64563 conn168: { driver: { name: "mongo-ruby-driver", version: "2.13.0" }, os: { type: "mswin", name: "mswin32", architecture: "x86_64" }, platform:"JRuby 9.2.13.0, like Ruby 2.5.7, java, JVM 1.8.0_261, java1.8" }

似乎 mongod 接受了连接,但在握手期间发生了错误。它说有 2 个参数而不是预期的 1 个,但我不知道它指的是哪个级别。

任何帮助将不胜感激。

谢谢。

【问题讨论】:

  • 您需要完整的堆栈跟踪来解决此问题。
  • 已用所有跟踪编辑日志。

标签: json mongodb logstash handshake


【解决方案1】:

在 MongoDB 端和 Logstash 上查找后,我被告知插件 logstash-output-mongodb 中有一个未解决的问题。固定版本已可用,但未合并到当前版本中。因此,一些贡献者建议自己构建固定版本。

https://github.com/logstash-plugins/logstash-output-mongodb/pull/66

【讨论】:

    猜你喜欢
    • 2020-09-15
    • 2020-10-06
    • 2020-07-06
    • 2020-10-26
    • 1970-01-01
    • 2020-05-20
    • 2020-09-16
    • 2015-10-26
    • 1970-01-01
    相关资源
    最近更新 更多