0

我正在使用启用排队的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 个字符?

提前致谢

4

0 回答 0