[2020-05-30T15:01:16,249][WARN ][logstash.outputs.mongodb ][main] MONGODB | Failed to handshake with 192.168.6.236:27017: ArgumentError: wrong number of arguments (given 2, expected 1): /home/logstash/vendor/bundle/jruby/2.5.0/gems/bson-4.8.2-java/lib/bson/hash.rb:120:in from_bson' /home/logstash/vendor/bundle/jruby/2.5.0/gems/mongo-2.12.1/lib/mongo/dbref.rb:110:in
from_bson' /home/logstash/vendor/bundle/jruby/2.5.0/gems/mongo-2.12.1/lib/mongo/protocol/serializers.rb:378:in deserialize' /home/logstash/vendor/bundle/jruby/2.5.0/gems/mongo-2.12.1/lib/mongo/protocol/message.rb:380:in
block in deserialize_array' /home/logstash/vendor/bundle/jruby/2.5.0/gems/mongo-2.12.1/lib/mongo/protocol/message.rb:380:in deserialize_array' /home/logstash/vendor/bundle/jruby/2.5.0/gems/mongo-2.12.1/lib/mongo/protocol/message.rb:224:in
block in deserialize'
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这个错误信息表明Logstash在尝试与MongoDB建立连接并处理数据时遇到了问题。具体来说,错误源于bson-4.8.2-java
库中的from_bson
方法调用时参数数量不匹配,期望1个参数但给出了2个。这通常意味着Logstash或其使用的MongoDB驱动程序可能与你的MongoDB服务器版本存在兼容性问题,或者配置不正确。
要解决这个问题,你可以尝试以下几个步骤:
确认版本兼容性:首先确保你使用的Logstash插件(特别是MongoDB输出插件)与你的MongoDB服务器版本兼容。可以查看Logstash和MongoDB驱动的官方文档,确认是否有已知的兼容性问题,并考虑升级或降级相关组件以达到兼容。
更新依赖:尝试更新Logstash及其MongoDB输出插件到最新版本。有时候,这样的错误是由于旧版本的库或插件中已知的问题导致的,而这些问题是后续版本中被修复的。
检查配置:回顾你的Logstash配置文件,确保MongoDB输出部分的配置是正确的。特别注意是否所有必要的参数都已正确设置,没有遗漏或多余的配置项。
清理环境:有时候,gem包或依赖项可能存在冲突。尝试在一个干净的环境中重新安装Logstash及其插件,避免潜在的版本冲突。
查看日志详细信息:上述错误信息提供了出错的代码行和文件路径,这有助于定位问题。如果可能,查看更详细的日志输出,可能会有更多关于错误上下文的信息,帮助诊断问题。
社区和官方支持:如果以上步骤都无法解决问题,建议查阅Logstash和MongoDB的官方论坛或社区,或者直接联系阿里云的技术支持获取帮助。提供完整的错误信息、你的Logstash和MongoDB版本号以及相关的配置细节,以便获得更专业的指导。