繁体   English   中英

JDBC Logstash 弹性 Kibana

[英]JDBC Logstash Elastic Kibana

我正在使用 JDBC 输入插件将数据从 mongodb 提取到 ElasticSearch。我的配置是:

`input {
  jdbc {
    jdbc_driver_class => "mongodb.jdbc.MongoDriver"
    jdbc_driver_library => "/usr/share/logstash/logstash-core/lib/jars/mongodb_unityjdbc_free.jar"
    jdbc_user => ""
    jdbc_password => ""
    jdbc_connection_string => "jdbc:mongodb://localhost:27017/pritunl"
    schedule => "* * * * *"
    jdbc_page_size => 100000
    jdbc_paging_enabled => true
    statement => "select * from servers_output"
  }
}
filter {
mutate {
copy => { "_id" => "[@metadata][id]"}
remove_field => ["_id"]
}
}
output {

     elasticsearch {
        hosts => "localhost:9200"
        index => "pritunl"
        document_id => "%{[@metadata][_id]}"
}
        stdout {}
}`

在 Kibana 中,我只看到一次点击enter image description here ,但在 stdout 中,我看到许多来自 mongodb 集合的记录。 我该怎么办,才能看到他们?

问题是,您的所有文档都使用相同的“_id”保存,因此即使您向 ES 发送不同的记录,也只有一个文档在内部被覆盖——因此您在 Kibana 中获得了 1 次点击。

您的配置中存在拼写错误导致此问题。

您正在将“_id”复制到“[@metadata][ id ]”

但是您正在尝试阅读带有下划线的“[ @metadata ][_id]”。

在读取 document_id 的值时删除下划线应该可以解决您的问题。

output {
  elasticsearch {
    hosts => "localhost:9200"
    index => "pritunl"
    document_id => "%{[@metadata][id]}"
  }
  stdout {}
}`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM