Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Logstash输入插件JDBC的Mongodb驱动程序类_Java_Mongodb_Jdbc_Logstash_Logstash Input Jdbc - Fatal编程技术网

Java Logstash输入插件JDBC的Mongodb驱动程序类

Java Logstash输入插件JDBC的Mongodb驱动程序类,java,mongodb,jdbc,logstash,logstash-input-jdbc,Java,Mongodb,Jdbc,Logstash,Logstash Input Jdbc,我正在使用Logstash将数据库从MongoDB回复到使用Logstash 6.0.0的Elasticsearch,以下是我的配置文件: input{ jdbc{ jdbc_driver_library => "/usr/share/logstash/driver/mongodb-driver-3.6.1.jar" jdbc_driver_class => "mongodb.jdbc.MongoDriver" jdbc_con

我正在使用Logstash将数据库从MongoDB回复到使用Logstash 6.0.0的Elasticsearch,以下是我的配置文件:

input{
    jdbc{
        jdbc_driver_library => "/usr/share/logstash/driver/mongodb-driver-3.6.1.jar"
        jdbc_driver_class => "mongodb.jdbc.MongoDriver"
        jdbc_connection_string => "jdbc:mongodb://mongo:27017/DevDb"
        jdbc_user => ""
        statement => "*"
    }
}

output {
  elasticsearch {
    hosts => 'http://user:xxxx@elasticsearch:9200'
    index => 'mongo'
 }
  stdout { codec => rubydebug }
}
我使用的是官方的MongoDB java驱动程序,从以下链接下载:,但出现以下错误:

Error: mongodb.jdbc.MongoDriver not loaded. Are you sure you've included the correct jdbc driver in :jdbc_driver_library?
Exception: LogStash::ConfigurationError
那么我应该使用什么类名呢

input {
  jdbc {
       jdbc_driver_library => "mongojdbc1.3.jar"
       jdbc_driver_class => "com.dbschema.MongoJdbcDriver"
       jdbc_connection_string => "jdbc:mongodb://username:password@mongourl:27017/database_name?authSource=admin"
       jdbc_user => ""
       jdbc_password => ""
       schedule => "* * * * * *"
       statement => "db.collection_name.find({},{'_id': false});"
  }
}
output {
  elasticsearch {
    hosts => ["http://elasticsearch:9200"]
    index => "vm_server_%{+YYYY.MM.dd}"
    user => "elastic"
    password => "changeme"
  }
}
这个配置适合我,配置文件中的驱动程序看起来不像jdbc驱动程序。因此,请寻找JDBCJAR

如果您是从mongo查询,您的json格式可能与mongo中的格式不一样。 为此,您可以查看链接

MongoDB驱动程序有许多依赖项,您还需要包括这些依赖项才能使其正常工作,另请参见