фильтры logstash для анализа файла журнала, разделенного запятыми

#logstash #logstash-grok #logstash-configuration

#logstash #logstash-grok #logstash-конфигурация

Вопрос:

У меня есть файл журнала, который выглядит следующим образом:

 2019-04-19 08:30:06,477 DEBUG [org.mobicents.smsc.library.CdrGenerator] 2019-04-19 08:30:01.960,466,2,1,01706488575,1,1,success,SMPP,message,3rdPartyName,10614279,null,null,01702993001,412012102179043,null,null,0170260020,0,0,null,0,0,,,,2393,"*466#
nxxxxxxxxxxxxxxx","",,,
  

Я хочу отфильтровать эти журналы в logstash и получить и сохранить только несколько столбцов.
как вы видите, столбец журналов разделен запятыми, я хочу игнорировать все столбцы, кроме:

  • часть даты и времени из столбца 2 (я хочу получить дату и время в виде 2 разных столбцов)
  • столбец 9 и столбец 12

Ответ №1:

В Logstash есть фильтр CSV, который выдает вам каждый столбец в поле. Плюсом является то, что он будет проанализирован правильно. Недостатком является то, что тогда вам придется удалить ненужные столбцы из события.

Вы также можете написать свой собственный шаблон для фильтра grok. В Интернете есть много примеров и руководств по этому поводу.