Я новичок в стеке ELK. Я планирую получить данные из таблицы Oracle для визуализации данных в Кибане. Моя таблица не имеет столбца первичного ключа, поэтому на основе расписания столбца timestamp (формат: hhmmss, например, 00001) для выборки инкрементной записи используется «sql_last_value». Проблема, с которой я сталкиваюсь с sql_last_value, поскольку его значение в конце дня будет установлено с 235959. Когда следующий день начинается, значение sql_last_value должно быть заменено на 0, в противном случае отметка времени снова начинается с 000000. Следовательно, записи не могут быть получены.
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:3306/elk"
# The user we wish to execute our statement as
jdbc_user => "jesus"
jdbc_password => "Jesus@12345"
# The path to our downloaded jdbc driver
jdbc_driver_library => "path to oracle jar"
jdbc_driver_class => "oracle driver"
# our query
statement => "SELECT *,id,refnum FROM storeData where localTime>:sql_last_value"
use_column_value => true
tracking_column => "id"
last_run_metadata_path => "/media/jesus/HD4/Software/ELK/.logstash_jdbc_last_run"
schedule => "*/5 * * * * *"
}
}
output {
stdout { codec => rubydebug }
elasticsearch {
"hosts" => "localhost:9200"
"index" => "test-2"
"document_type" => "data"
"document_id" => "%{id}%{refnum}"
}
}