Дубликаты сообщений, созданные FileBeat

#elasticsearch #logstash #filebeat

#elasticsearch #logstash #filebeat

Вопрос:

Я использую FileBeat для загрузки сообщений журнала в ElasticSearch через LogStash. Файлы журнала расположены в сетевом ресурсе Windows. FileBeat работает на компьютере с Linux, где общий ресурс Windows отображается через cifs. Проблема в том, что некоторые записи файла журнала дублируются. Интересен тот факт, что дублирующиеся записи создаются в моменты, разделенные по времени событием в несколько часов. В файлах журналов FileBeat и LogStash я не вижу ничего критичного. Я знаю, что не рекомендуется загружать журналы с FileBeat из общего сетевого ресурса. Говорят, что существует проблема с повторным использованием значений inode. Но я не вижу записей для одного файла с разными значениями индекса в файле реестра FileBeat. Что может быть причиной дублирующихся сообщений, созданных FileBeat?

Обновить. Вот мой filebeat.yml:

 filebeat.inputs:
- type: log
    - \<host_name><folder>*.<service_name>.*.2019*.log
    - \<host_name><folder>*.<service_name>.*.2019*.log...
  encoding: Windows-1251
  multiline.pattern: '^d{4}-d{2}-d{2}'
  multiline.negate: true
  multiline.match: after  

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false

setup.template.settings:
  index.number_of_shards: 3

output.logstash:
  hosts: ["<some_ip_address>:5044"]
  enabled: true

processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~

  

Комментарии:

1. Здесь я просто размышляю, но, возможно, при ротации вашего журнала текущий журнал перемещается в архивный журнал. (например, my-log.log в my-log.log1) и этот файл также используется filebeat?

2. Если это так, то я думаю, что я бы рассматривал это как разные источники в разных записях журнала, но здесь это не так.

3. Обновите свой вопрос с помощью конфигурации filebeat и logstash, чтобы люди могли попытаться вам помочь.

4. Они не рекомендуют читать файлы журналов с сетевых томов. По возможности устанавливайте Filebeat на хост-компьютере и отправляйте файлы журнала непосредственно оттуда. Чтение файлов с сетевых томов (особенно в Windows) может иметь неожиданные побочные эффекты. Например, измененные идентификаторы файлов могут привести к тому, что Filebeat снова начнет читать файл журнала с нуля. elastic.co/guide/en/beats/filebeat/current /…

Ответ №1:

Удалите каталог /var/lib/filebeat/registry , и это должно все исправить, в моем случае это произошло.