Sql_last_value сбрасывается в 0 через 12 часов logsta sh config - PullRequest
0 голосов
/ 17 апреля 2020

Я новичок в стеке 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}"
  }
}
...