在jdbc输入运行后,启用队列的Logstash不启用http输入事件

时间:2017-08-15 00:59:41

标签: elasticsearch logstash logstash-jdbc

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

提前致谢

0 个答案:

没有答案