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 символов?
заранее спасибо