Множественные файлы конфигурации, вызывающие дублирование сообщения

У меня есть машина Logstash, работающая в AWS. В Logstash у меня есть 3 файла конфигурации, в каждом из которых определено 1 вход. Эти входы читают журналы из следующих источников

  • Из с3
  • Из http-ввода
  • Из файлового бита

Проблема в том, что я получаю повторяющиеся сообщения в Kibana. Итак, для 1 сообщения, сгенерированного Filebeat, я вижу 3 сообщения в Kibana. Я попытался удалить 1 файл конфигурации, и количество сократилось до 2. Поэтому я почти уверен, что это связано с этими файлами конфигурации.

Что меня смущает, так это то, почему это происходит. У меня есть отдельный ввод, определенный для всех трех файлов конфигурации, но все еще получаю дублирующиеся сообщения. Это раздел ввода всех трех файлов конфигурации.

вход s3

input {
  s3 {
     bucket => "elb-logs"
     region => "us-east-1"
     prefix => "demo/AWSLogs/792177735214/"
     type   => "elb-logs"
     delete => true
  }

}

HTTP-ввод

input {
  http {
     type   => "frontend-logs"
     codec  => "json"
  }
}

Filebeat

input {
  beats {
    port => "5043"
  }
}

Для всех трех конфигурационных файлов есть общий раздел вывода, т.е.

output {
    elasticsearch { hosts => [ "10.0.0.1:9200" ] }
}

person shivams    schedule 04.05.2017    source источник
comment
Сколько выходов вы настроили?   -  person Olly Cruickshank    schedule 04.05.2017
comment
@OllyCruickshank Я отредактировал свой вопрос с настроенным мной выводом.   -  person shivams    schedule 04.05.2017
comment
logstash объединит файлы конфигурации вместе и увидит три выходных раздела. В результате ваше сообщение будет выведено три раза. я бы создал отдельный выходной файл конфигурации и удалил раздел вывода из трех входных файлов конфигурации.   -  person Olly Cruickshank    schedule 04.05.2017
comment
@OllyCruickshank Спасибо, сработало. Не могли бы вы дать это как ответ, чтобы я мог его принять.   -  person shivams    schedule 04.05.2017
comment
добавил ответ, спасибо!   -  person Olly Cruickshank    schedule 04.05.2017


Ответы (1)


Logstash объединит три файла конфигурации вместе (вход s3, ввод Http, Filebeat) и увидит три выходных раздела.

Три раздела вывода не связаны с конкретными входами — вместо этого Logstash отправит вход из любого из трех источников на все настроенные выходы. В результате ваше сообщение будет выведено три раза на одно и то же место назначения.

Я бы создал отдельный выходной файл конфигурации и удалил раздел вывода из ваших трех входных файлов конфигурации.

person Olly Cruickshank    schedule 04.05.2017