首页 > 解决方案 > mongodb 是否有任何 Logstash 过滤器插件可以从多个集合中选择字段到一个 Elasticsearch 文档?

问题描述

我是 logstash 的新手,我想将来自多个 mongo 集合的数据合并到 ES 中的一个文档中。有人可以帮助识别此用例或指针文档的过滤器插件。

示例.conf

input {
       mongodb {
         uri => 'mongodb://localhost:27017/UserDB'
         placeholder_db_dir => '/var/lib/mongodb/'
         placeholder_db_name => 'logstash_sqlite.db'
         collection => 'Users'
         batch_size => 202
   }
mongodb {
uri => 'mongodb://localhost:27017/ProjectDB'
placeholder_db_dir => '/var/lib/mongodb/'
placeholder_db_name => 'logstash_sqlite.db'
collection => 'Projects'
batch_size => 202
}
}

filter {
 mutate {
      remove_field => [ "_id" ]
    }   
}


output {
        stdout {
                codec => rubydebug
        }
        elasticsearch {
                action => "index"
                index => "mongo_log_data"
                hosts => ["localhost:9200"]
        }
} ```

Output :
In Elastic Index they get inserted as separate documents, I wanted to filter few fields from Users and few from Project and insert as one document.

i.e
{
Users.name
Users.id
Project.title
Project.details
}

Any examples would be really appreciated.

标签: logstashlogstash-grok

解决方案


推荐阅读