Я работал над вставкой индексов вasticsearch, используя logsta sh. Мой conf выглядит так:
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:3306/sample"
jdbc_user => "root"
jdbc_password => ""
jdbc_driver_library => "/usr/share/logstash/logstash-core/lib/jars/mysql-connector-java-5.1.48.jar"
jdbc_driver_class => " com.mysql.jdbc.Driver"
tracking_column => "time"
use_column_value => true
statement => "SELECT time, firstname, lastname, email FROM sample.sample where time > :sql_last_value;"
schedule => " * * * * * *"
}
}
output {
elasticsearch {
document_id=> "%{time}"
document_type => "doc"
"hosts" => ["myhost"]
"index" => "sample"
}
stdout{
codec => rubydebug
}
}
Когда я запускаю этот файл с помощью logsta sh, я получаю запрос:
SELECT time, firstname, lastname, email FROM sample.sample where time > 351
Но столбец time
равен currenttimestamp
в База данных MySQL, которую я отслеживаю, и я думаю, sql_last_value
содержит значение этого поля. Я делаю что-то неправильно, связанное с sql_last_value