gpt4 book ai didi

mongodb - JDBC无法用于Logstash和MongoDB连接

转载 作者:行者123 更新时间:2023-12-02 22:54:27 26 4
gpt4 key购买 nike

This is the Logstash Configuration file

此配置将输出显示为[无法连接到数据库,并且找不到合适的驱动程序!],我正在使用Logstash版本7.5.1。

最佳答案

这是以下代码的解决方案link。请引用link了解更多详情

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
"
}
}

关于mongodb - JDBC无法用于Logstash和MongoDB连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60200946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com