¿Cómo debo usar sql_last_value en logstash?
No estoy muy claro de quésql_last_value
cuando doy mi declaración como tal:
statement => "SELECT * from mytable where id > :sql_last_value"
Puedo entender ligeramente la razón detrás de su uso, donde no navega por toda la tabla db para actualizar los campos, sino que solo actualiza los registros que se agregaron recientemente. Corrígeme si estoy equivocado.
Entonces, lo que estoy tratando de hacer es crear el índice usandologstash
como tal:
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://hostmachine:3306/db"
jdbc_user => "root"
jdbc_password => "root"
jdbc_validate_connection => true
jdbc_driver_library => "/path/mysql_jar/mysql-connector-java-5.1.39-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
schedule => "* * * * *"
statement => "SELECT * from mytable where id > :sql_last_value"
use_column_value => true
tracking_column => id
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
}
}
output {
elasticsearch {
#protocol => http
index => "myindex"
document_type => "message_logs"
document_id => "%{id}"
action => index
hosts => ["http://myhostmachine:9402"]
}
}
Una vez que hago esto, los documentos no se cargan en absoluto en el índice. ¿A dónde me estoy yendo mal?
Cualquier ayuda podría ser apreciada.