我正在使用启用排队的logstash。
我已经设置 logstash 以在启动时通过 mysql 输入插件从 mysql 注入行。目前这是注入 1846 行。
我也有一个http输入。
当我按预期取下 ES 并重新启动 logstash 时,出现错误
logstash_1 WARN logstash.outputs.amazones - 无法刷新传出项目 {:outgoing_count=>1, :exception=>“Faraday::ConnectionFailed”, :backtrace=>nil} logstash_1 错误 logstash.outputs.amazones - 尝试发送批量对配置为...的 Elasticsearch 的请求我希望在这种情况下点击 logstash http 输入会导致 ack。
实际上 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 个字符?
提前致谢