Как запустить многопоточный скрипт logstash - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть окно Vagrant с conf logstash, которое подключается к базе данных и ставит результаты в очередь в SQS. Сценарий более или менее похож на это:

input {
  jdbc {
    jdbc_driver_library => "ojdbc7.jar"
    jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
    jdbc_connection_string => "jdbc:oracle:thin:@//dsn:1521/name"
    jdbc_user => "user"
    jdbc_password => "pass"
    statement => "myQuery"
    jdbc_paging_enabled => true
    jdbc_page_size => 1000
  }
}

output {
  stdout { codec => rubydebug }
  sqs {
      region => "myRegion"
      aws_credentials_file => ".aws_credentials.yaml"
      queue => "sqsQueue"
  }
}

Когда он выполняется и между датами не так много данных, его процесс запускается нормально и без задержки, но если данных больше, проблема масштабируется и занимает слишком много времени для постановки в очередь в SQS.

Как показано, я запускаю драйвер ojdbc7 oracle, подключаюсь к своей базе данных, запускаю запрос, который извлекает данные между двумя датами, и здесь возникает проблема:

  • Как мне управлять, если мой запрос извлекает огромное количество данных?
  • Как я могу гарантировать его устойчивость, даже если есть проблема с моим компьютером, сетью и т. Д.?
...