【问题标题】:sync data from mongodb to elasticsearch via logstash通过logstash将数据从mongodb同步到elasticsearch
【发布时间】:2021-06-07 13:31:37
【问题描述】:

我只想使用logstash将数据从mongodb同步到elastic。它工作得很好,当任何新记录进入 mongodb 时,logstash 就会进入弹性状态。但是当我更新 mongodb 中的任何记录时,即使我删除它,它也不会变为 elasticsearch。我想在配置文件中进行更改,以便当任何记录在 mongo 中更新或删除时,它也应该反映在弹性中。

input {
mongodb {

    uri => 'mongodb://xxxxxx:32769/database'
    placeholder_db_dir =>'/usr/share/logstash/bin/opt/logstash-mongodb/'
    placeholder_db_name => 'logstash_sqlite.db'
    collection => 'tags'
}
}
filter {
mutate {
rename => { "_id" => "mongo_id" }
}
}
output {
    stdout {
            codec => rubydebug
    }
    elasticsearch {
            action => "index"
            index => "mongo_data"
            hosts => ["https://xxxxxxxx:8443"]
            ssl => true
  doc_as_upsert => true

   }
   }

【问题讨论】:

    标签: mongodb elasticsearch logstash


    【解决方案1】:

    这不是输入旨在支持的用例。 documentation 声明“这是为解析写入 mongodb 的日志而设计的。这意味着它可能不会重新解析已更改并已解析的数据库条目。”对于“可能不会”,请阅读“不会”。 code 构建一个游标,用于查找 id 大于它读取的最后一个 id 的文档。它从不寻找更新或删除。另请注意,测试“大于最后一个 id”,它initializes 最后一个 id 的方式意味着它永远不会读取集合中的第一个文档。

    【讨论】:

    • 那么管理更新、添加和删除的解决方案是什么?
    • 我不认为logstash可以用任何现有的插件做到这一点。
    猜你喜欢
    • 2020-07-06
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多