Замена или удаление слова с помощью фильтра Logstash - PullRequest
0 голосов
/ 07 февраля 2019
#Version: 15.01.1034.026
#Log-type: Message Tracking Log
#Date: 2018-11-27T17:00:01.234Z
#Fields: date-time,client-ip,client-hostname,etc.

Я могу удалить строки, начинающиеся с #, но последняя строка содержит мои заголовки csv, я просто хочу заменить или удалить определение #Fields: через фильтр logstash.

if [message] =~ /^# .*/ { drop { } }

Что такоеправильный способ сделать это с logstash как правильный CSV-файл для вставки ES?

1 Ответ

0 голосов
/ 07 февраля 2019

Вы можете выбрать только необходимые данные, как показано ниже, у вас будет новый сбой с именем csv_fields, а сообщение будет date-time,client-ip,client-hostname,etc. в качестве образца данных

grok {
    match => { "message" => "(?<csv_fields>(?<=#Fields:\s)%{GREEDYDATA})" }
}

Вы можете проверить его здесь https://grokdebug.herokuapp.com/

...