繁体   English   中英

JDBC 不适用于 logstash 和 mongoDB 连接

[英]JDBC not working for logstash and mongoDB connection

这是 Logstash 配置文件

此配置给出的输出为 [无法连接到数据库并且找不到合适的驱动程序!],我使用的是 logstash 版本 7.5.1

这是以下代码的已解决解决方案链接 请参考链接了解更多详情

input {
    jdbc {
        jdbc_driver_library => "mongojdbc1.2.jar"
        jdbc_driver_class => "com.dbschema.MongoJdbcDriver"
        jdbc_connection_string => "jdbc:mongodb://DB_ADDRESS:27017/DB_NAME"
        jdbc_validate_connection => true
        jdbc_user => ""
        clean_run => false
        record_last_run => true
        last_run_metadata_path => "/path/.logstash_jdbc_last_run"
        schedule => "*/10 * * * * *"
        jdbc_default_timezone => "YOUR_TIMEZONE"
        statement =>
        "
                    //well, actually this is JavaScript code. And was written in pure blood :(
                    var lastValue = :sql_last_value; //the last saved  date  that was scheduled to run query for
                    var HALF_HOUR_OFFSET = 1800000;

                    var extractedDate = lastValue.substring(0,10); //parsing the date of the last saved date
                    var year = Number(extractedDate.substring(0,4));
                    var month = Number(extractedDate.substring(5,7));
                    var day = Number(extractedDate.substring(8,10));

                    var extractedTime = lastValue.substring(11,23); //parsing the time of the last saved date
                    var hour = Number(extractedTime.substring(0,2));
                    var minute = Number(extractedTime.substring(3,5));
                    var seconds = Number(extractedTime.substring(6,8));
                    var miliseconds = Number(extractedTime.substring(9,12));

                    var upperEpoch = new Date(year,month-1,day,hour,minute,seconds,miliseconds).getTime(); //dates start from 0, that's why the minus 1
                    var bottomEpoch = upperEpoch - HALF_HOUR_OFFSET;

                    db.DB_COLLECTION.find({ COLLECTION_FIELD: { $gte : bottomEpoch, $lte: upperEpoch} },{'_id': false}); //we omit the 'id' since it irrelevant and also cause deserialize exception
                "
    }
}

暂无
暂无

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

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