如何解决Logstash + MongoDB Atlas输出:与xxx.gcp.mongodb.net的握手失败:27017:ArgumentError:参数数量错误给定2,预期值为1
尝试将数据从Logstash输出到MongoDB Atlas(在GCP上运行的集群)。
完成:
- 将所有IP(0.0.0.0/0)列入白名单
我的logstash配置:
input {
tcp {
port => 28777
codec => json
}
}
output {
mongodb {
uri => "mongodb+srv://xxx:xxx@xxx.gcp.mongodb.net/collect?retryWrites=true&w=majority&ssl=true"
database => "collect"
collection => "requests"
generateId => true
}
stdout {
codec => json
}
}
我也尝试过使用此URI:
uri => "mongodb+srv://xxx:xxx@xxx.gcp.mongodb.net/?retryWrites=true&w=majority&ssl=true"
但是我得到了:
[2020-09-19T16:01:22,253][WARN ][logstash.outputs.mongodb ][main] MONGODB | Failed to handshake with xxx.gcp.mongodb.net:27017: ArgumentError: wrong number of arguments (given 2,expected 1)
[2020-09-19T16:01:22,255][WARN ][logstash.outputs.mongodb ][main] MONGODB | Error running ismaster on xxx.gcp.mongodb.net:27017: ArgumentError: wrong number of arguments (given 2,expected 1)
更新:即使我没有发送任何数据,也会发生这种情况。
解决方法
最新版本的插件中存在一个未解决的问题。 https://github.com/logstash-plugins/logstash-output-mongodb/issues/60
但是,插件版本 3.1.5 似乎正在运行。使用此命令安装它并重新启动 logstash:
/usr/share/logstash/bin/logstash-plugin install --version=3.1.5 logstash-output-mongodb
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。