Grok Pattern для многострочного не работает

Если вы можете создать таблицу чисел, которая содержит числа от 1 до максимальных полей для разделения, вы можете использовать такое решение:

select
  tablename.id,
  SUBSTRING_INDEX(SUBSTRING_INDEX(tablename.name, ',', numbers.n), ',', -1) name
from
  numbers inner join tablename
  on CHAR_LENGTH(tablename.name)
     -CHAR_LENGTH(REPLACE(tablename.name, ',', ''))>=numbers.n-1
order by
  id, n

См. здесь скрипку .

Если вы не можете создать таблицу, то решение может быть следующим:

select
  tablename.id,
  SUBSTRING_INDEX(SUBSTRING_INDEX(tablename.name, ',', numbers.n), ',', -1) name
from
  (select 1 n union all
   select 2 union all select 3 union all
   select 4 union all select 5) numbers INNER JOIN tablename
  on CHAR_LENGTH(tablename.name)
     -CHAR_LENGTH(REPLACE(tablename.name, ',', ''))>=numbers.n-1
order by
  id, n

пример скрипта - здесь .

0
задан up6616 13 July 2018 в 04:04
поделиться

2 ответа

Ниже я работал для меня.

codec => multiline{
    pattern => "^\s*\d{1,}\|"
    negate => "true"
    what => "previous"
}
0
ответ дан up6616 17 August 2018 в 13:42
поделиться

(?m)%{GREEDYDATA} будет соответствовать любому многострочному журналу, включая ваши. Пожалуйста, проверьте здесь

0
ответ дан Sufiyan Ghori 17 August 2018 в 13:42
поделиться
  • 1
    Я попробовал это, но не работал. Я думаю, что линия-канал может быть проблемой – up6616 13 July 2018 в 08:36
  • 2
    он работает, когда вы копируете / вставляете свой журнал на веб-сайт отладчика grok, убедитесь, что после шаблона нет новой строки. – Sufiyan Ghori 15 July 2018 в 06:07
  • 3
    У меня есть (LF) в моих журналах, который появляется, когда последние данные столбца превышают лимит – up6616 16 July 2018 в 05:30
  • 4
    Я имею в виду, удалить LF из веб-сайта отладчика из шаблона, а не из журнала. – Sufiyan Ghori 16 July 2018 в 05:37
  • 5
    На веб-сайте отладчика он отлично работает, но когда я запускаю logstash в своей локальной системе, это вызывает проблему. Даже с этим (? & Lt; message & gt; (. |\r |\n) *), он работает на веб-сайте, но не с logstash 6.3.0v – up6616 16 July 2018 в 07:31
Другие вопросы по тегам:

Похожие вопросы: