Как принудительно восстановить данные журнала в filebeat 5

У меня filebeats 5.x отправляет журналы в logstash.

Как сбросить «указатель файла» в filebeat

Это аналогичная проблема

Я очистил все данные elasticsearch, удалил файл /var/lib/filebeat/registry. но filebeat отправляет только новую строку.

изменить registry_file недопустимо , смещение файла сохраняется в новый файл (удалить файл - та же проблема) filebeat.registry_file: registry


person 周宏成    schedule 17.01.2017    source источник


Ответы (3)


  1. Остановить службу filbeat.
  2. Переименуйте файл реестра — обычно он находится в /var/lib/filebeat/registry.
  3. Запустите сервис filbeat.

sudo служба filbeat остановить

mv /var/lib/filebeat/registry /var/lib/filebeat/registry.old

запуск службы sudo filbeat

person Yasir    schedule 12.09.2017
comment
Для пользователей Mac OS, которые установили через homebrew, это /usr/local/var/lib/filebeat/registry. - person Alexander; 06.04.2018

Агент Filebeat сохраняет все свое состояние в файле реестра. Расположение файла реестра должно быть установлено внутри вашего файла конфигурации с помощью файла filebeat.registry_file параметр конфигурации.

Я рекомендую указывать абсолютный путь в этом параметре, чтобы вы точно знали, где будет находиться файл. Если вы используете относительный путь, значение интерпретируется относительно ${path.data} каталог. В установках Linux при запуске в качестве службы или при запуске с использованием оболочки filebeat.sh для path.data устанавливается значение /var/lib/filebeat.

После удаления этого файла реестра Filebeat начнет читать все файлы с самого начала (если только вы не настроили разработчик с tail_files: true.

Если у вас по-прежнему возникают проблемы, я рекомендую просмотреть файл журнала Filebeat, который будет содержать строку, указывающую, где находится файл реестра. Например:

2017/01/18 18:51:31.418587 registrar.go:85: INFO Registry file set to: /var/lib/filebeat/registry

person A J    schedule 18.01.2017
comment
остановите сервер filebeat, затем удалите файл '/var/lib/filebeat/registry'. и это работа. это моя проблема, спасибо за ответ. - person 周宏成; 15.02.2017

Как уже упоминалось здесь, остановка службы filebeat, удаление файла(ов) реестра и перезапуск службы являются правильными действиями.

Я просто хотел добавить для пользователей Windows, что если вы не указали уникальное местоположение для filebeat.registry_file, по умолчанию он, скорее всего, будет ${path.data}/registry, который несколько сбивает с толку каталогом C:\ProgramData\filebeat, как упоминалось людьми из Elastic.

В моем случае мне пришлось показать скрытые файлы до того, как это было показано.

person StephenSolace    schedule 19.09.2017
comment
Просто хотел указать всем, кто похож на меня, это папка ProgramData, а НЕ Program Files - person Luke; 22.01.2021