Logstash с включенной очередью не проверяет события ввода http после запуска ввода jdbc

Я использую logstash с включенной очередью.

Я настроил logstash для вставки строк из mysql через входной плагин mysql при запуске. В настоящее время это впрыскивает 1846 строк.

У меня также есть вход http.

Когда я отключаю ES и перезагружаю logstash, как ожидается, я получаю ошибки

logstash_1 WARN logstash.outputs.amazones - не удалось очистить исходящие элементы {:outgoing_count=>1,: исключение => "Faraday::ConnectionFailed",:backtrace=>nil} logstash_1 ОШИБКА logstash.outputs.amazones - Попытка отправить массив запрос к Elasticsearch настроен на... Я ожидаю, что в этой ситуации попадание в http-вход logstash приведет к подтверждению.

На самом деле http POST не возвращается, и инъекция не видна в журналах logstash.

Мой logstash.yaml выглядит так

queue {
  type: persisted
  checkpoint.writes: 1
  queue.max_bytes: 8gb
  queue.page_capacity: 512mb
}

И мой logstash.conf

input {

  jdbc {
    jdbc_connection_string => "${JDBC_CONNECTION_STRING}"
    jdbc_user => "${JDBC_USER}"
    jdbc_password => "${JDBC_PASSWORD}"
    jdbc_driver_library => "/home/logstash/jdbc_driver.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    statement => "
        SELECT blah blah blah
    "
  }

  http {
    host => "0.0.0.0"
    port => 31311
  }
}

output {
  stdout { codec => json_lines }
  amazon_es {
    hosts => ["${AWS_ES_HOST}"]
    region => "${AWS_REGION}"
    aws_access_key_id => '${AWS_ACCESS_KEY_ID}'
    aws_secret_access_key => '${AWS_SECRET_ACCESS_KEY}'
    "index" => "${INDEX_NAME}"
    "document_type" => "data"
    "document_id" => "%{documentid}"
  }
}

Возможно ли для http-ввода все еще подтверждать события, поскольку я почти уверен, что очередь не может быть заполнена, поскольку полезная нагрузка каждого события составляет около 850 символов?

заранее спасибо

0 ответов

Другие вопросы по тегам