Как перепарсить через Logstash существующие индексы?
У меня в Logstash приходили FileBeat какое-то время. Потом появилась задача выделять отдельные поля. Изменил конфиг, но применяется только ко вновь поступившим данным.
Как заставить перепарсить то, что уже ранее пришло в elasticsearch?
Filebeat хранит информацию о уже обработанных файлах в файле registry. Расположение этого файла определяется настройкой filebeat.registry.path. Если вы ничего не меняли, то это /var/lib/filebeat/registry. Если filebeat остановить и этот файл удалить, то filebeat при следующем запуске начнет обрабатывать все по новой.
Filebeat был на стороне "чужой системы". Поступали данные. Я их пропарсил с помощью Logstash и положил себе в эластик. Теперь задача дополнительно допарсить то, что уже у меня есть в индексах.
Грубо говоря у меня в каждом документе есть поле message. Из него мне хотелось бы дополнительно выделить некоторые поля. Индекс хранится месяц.
А вы не подскажете как в индексе выбирать документы, которые старше какой-либо даты (например текущей)? Что надо прописать в input?
Эластик начинает сейчас делать выборку за все даты (включая год назад), а мне нужны актуальные даты. Сейчас input выглядит так:
Если вы внимательно посмотрите на пример в документации, то увидете, что sort должен быть на одном уровне с query и query может содержать только один запрос, а у вас их два - query_string и range. Если вам надо все включая текущие события, то lte можно убрать. И поле у вас, наверное, не timestamp а @timestamp? В конечном итоге должно выглядеть так:
Добрый день. Появилось "задваивание" данных. Грубо говоря вижу одинаковые документы, которые продублированы 5, 8 раз и т.д. Есть подозрение, что когда мы перегружаем службу Logstash система начинает дублировать данные. Вопрос: как избежать дубляжа?
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.