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