Logstash 6.2.4 застрял в бесконечном цикле повторов - PullRequest
0 голосов
/ 23 октября 2018

Я использую logstash 6.2.4 со следующими настройками yml -

pipeline.batch.size: 600
pipeline.workers: 1
dead_letter_queue.enable: true

Файл conf, используемый для запуска приложения logstash, - -

input {
    file {
        path => "/home/administrator/Downloads/postgresql.log.2018-10-17-06"
        start_position => "beginning"
        }
}
filter {
  grok {
        match => { "message" => "%{DATESTAMP:timestamp} %{TZ}:%{IP:uip}\(%{NUMBER:num}\):%{WORD:dbuser}%{GREEDYDATA:msg}"}
}
        }
output {
   stdout { codec => rubydebug }
   elasticsearch {
   id => 'es-1'
   hosts => ["localhost:9200"]
   timeout => 60
   index => "dlq"
   version => "%{[@metadata][version]}"
   version_type => "external_gte"
 }
}

Входные данные - обычный файл журналакоторый отформатирован с помощью фильтра Grok.Здесь версия всегда является строкой, а не целым числом, и, следовательно ,asticsearch выдает ошибку 400 Bad Request.

В этом коде ошибки - logstash должен повторить конечное число раз, а затем должен передать полезную нагрузку этого запроса в файл dead_letter_queue (в соответствии с документацией - https://www.elastic.co/guide/en/logstash/current/dead-letter-queues.html),, но он застревает в бесконечном цикле с mesaage -

[2018-10-23T12: 11: 42,475] [ОШИБКА] [logstash.outputs.elasticsearch] Обнаруженоповторяющаяся ошибка. Повторить попытку с экспоненциальным откатом {: code => 400,: url => "localhost: 9200 / _bulk"}

Ниже приведено содержимое каталога data / dead_letter_queue / main -

1.log (содержит одно значение «1»)

Помогите, если какая-либо конфигурация отсутствует, что приводит к этой ситуации.

...