2015-06-10 2 views
8

У меня есть logstash, смотрящий каталог на хосте. Каждый раз, когда он видит журнал, который соответствует пути, указанному в конфигурации logstash, он начинает импортировать данные в свой кластер elasticsearch. У logstash есть способ удалить журнал после его использования?Удаление журналов после потребления: logstash

Я хочу написать сценарий для удаления журналов, которые уже сделали logstash с помощью , но как узнать, с какими журналами он работал?

Возможно, ребята сделали это раньше или у вас есть идея, как это реализовать?

ответ

8

В настоящее время Logstash не может удалить файлы. Фокус file input plugin заключается в постоянном мониторинге файлов, но нет способа узнать, когда файл будет выполнен, т. Е. Когда больше не будет записи.

Если вы знаете, когда файлы «сделаны», вы можете вызвать Logstash и передать файлы через stdin input plugin. Logstash прекратит работу после получения конца файла, а затем ваш скрипт может удалить файл.

Вы также можете прочитать файлы sincedb и сравнить текущее смещение файла Logstash с размером соответствующего файла. См. Understanding sincedb files from Logstash file input для получения подробной информации о формате файлов sincedb.

Или вы можете просто удостовериться, что у вас достаточно места на диске и используйте регулярное вращение журнала для удаления файлов на основе, например, возраст. Дисковое пространство, вероятно, дешевле вашего времени.

Смежные вопросы