CouchDB - Logstash - 使用CouchDB过滤器进行更改

时间:2016-12-05 14:22:36

标签: couchdb logstash-configuration

我们的解决方案要求使用LogStash将在CouchDB中创建或修改的部分数据记录到Elastic Search中。到目前为止,我们已经能够通过更改源配置LogStash以连接到CouchDb,但是我们无法将CouchDB过滤器应用于更改源。我们如何配置LogStash以指定和应用CouchDB过滤器到_changes feed并仅记录基于GET参数传递过滤器的记录?

LogStash配置:

input {
        couchdb_changes {
                db => "database-members"
                host => "192.168.0.18"
                sequence_path => "/root/.couchdb_seq_database-members"
        }
 }


output {
  elasticsearch {
        hosts => ["localhost:9200"]
        document_id => "%{[@metadata][_id]}"
        index => "logstash-database-members-%{+YYYY.MM.dd}"
  }
  stdout { codec => rubydebug }
}

1 个答案:

答案 0 :(得分:0)

遗憾的是,logstash插件尚不支持过滤器。 如果你知道它有点容易添加的红宝石,并且大致会在这里:

https://github.com/logstash-plugins/logstash-input-couchdb_changes/blob/master/lib/logstash/inputs/couchdb_changes.rb#L115

您需要将过滤器选项添加到logstash模块,然后确保模块创建的请求uri是根据此文档

http://docs.couchdb.org/en/2.0.0/api/database/changes.html