我正在使用Logstash的5.x版本以及Elasticsearch和Kibana的7.x版本,即使设置了sincedb的路径后,我所面临的问题仍然是,logstash不会写入时间戳,直到完成点读取为止。每当它开始读取整个数据时。
我正在使用下面提到的配置。
input{
jdbc{
jdbc_driver_library => "/usr/share/logstash/bin/mysql-connector-java-8.0.16.jar"
jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://10.32.5.51:3307/sakila?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC"
jdbc_user => "root"
jdbc_password => "root"
statement => "SELECT * FROM sakila.city WHERE updatedon > :sql_last_value"
type =>"dailysummary"
schedule => "*/5 * * * *"
use_column_value => true
tracking_column => updatedon
record_last_run => true
last_run_metadata_path => "/usr/share/logstash/bin/since"
}
}
filter{
}
output {
elasticsearch {
hosts=> "localhost:9200"
index=> "dailysummary-%{+YYYY-MM-dd}"
}
}