【问题标题】:Logstash can't send logs to mongoDBLogstash 无法将日志发送到 mongoDB
【发布时间】:2021-10-29 06:57:53
【问题描述】:

我正在尝试使用 logstash 将日志保存到本地 mongoDB。这是我在 logstash 中的配置:

input {
  tcp { 
    port => 5001
    codec => "json_lines"
  }
}

output {
  file {
    path => "/var/log/some.log"
  }

  mongodb {
    id => "logstash-mongo"
    collection => "logs"
    database => "somelogs"
    uri => "mongodb://my-user:my-password@127.0.0.1:27017/somelogs"
    codec => "json"
  }

  stdout { codec => rubydebug }
}

对于文件的输出,它实际上是有效的,但不是输出到 mongoDB。我使用身份验证设置 mongoDB。我创建了管理员和基本用户来读写特定的数据库。我试图运行logstash,但它给了我这个:

2021-10-29T06:37:51,798][WARN ][logstash.outputs.mongodb ][main][logstash-mongo] Failed to send event to MongoDB, retrying in 3 seconds {:event=>#<LogStash::Event:0x2f0b40c8>, :except
ion=>#<Mongo::Auth::Unauthorized: User my-user is not authorized to access somelogs.>}
[2021-10-29T06:37:54,887][WARN ][logstash.outputs.mongodb ][main][logstash-mongo] Failed to send event to MongoDB, retrying in 3 seconds {:event=>#<LogStash::Event:0x2f0b40c8>, :except
ion=>#<Mongo::Error::OperationFailure: command insert requires authentication (13)>}

我同时使用这两个用户来访问 mongoDB,但它仍然给我这个输出。有什么建议我与这个问题有什么关系吗?非常感谢

注意:我已经为 mongodb 安装了输出插件

【问题讨论】:

    标签: mongodb logstash


    【解决方案1】:

    我的错,uri一定是

    uri => "mongodb://my-user:my-password@127.0.0.1:27017

    而不是

    uri => "mongodb://my-user:my-password@127.0.0.1:27017/somelogs

    logstash 现在运行良好

    【讨论】:

      猜你喜欢
      • 2016-01-12
      • 1970-01-01
      • 2021-03-18
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-29
      • 1970-01-01
      相关资源
      最近更新 更多