Splunk: попытка разделить многострочное событие во время поиска

2018-06-20T00:04:35.000+00:00 (980) WAL Autocheckpointing, name=C:\Program 
Files\PriceService\data\documents.db
2018-06-20T00:07:16.000+00:00 (980) WAL Autocheckpointing, name=C:\Program 
Files\PriceService\data\store-promotions.db
2018-06-20T00:07:21.000+00:00 (980) WAL Autocheckpointing, name=C:\Program 
Files\PriceService\data\store-promotions.db
2018-06-20T00:07:26.000+00:00 (980) WAL Autocheckpointing, name=C:\Program 
Files\PriceService\data\store-promotions.db

Я пытался правильно выполнить свой splunk-запрос, чтобы разделить это одно событие на несколько событий, но по какой-то причине я не могу правильно выполнить свой запрос.

Я попытался разбить на новую строку, но набор результатов не изменился. Из чтения в Интернете я понял, что должен использовать что-то вроде

myQuery | rex field=_raw "\[(?P<field1>...).*[\r\n]"

Извиняюсь кстати. Моя игра с регулярными выражениями не сильна.


person L-Samuels    schedule 20.06.2018    source источник
comment
Почему вы пытаетесь сопоставить [, если ваши данные его не содержат? Кроме того, почему бы тогда просто не использовать rex field=_raw ".+"? .+ соответствует любому 1+ символу, кроме новой строки.   -  person Wiktor Stribiżew    schedule 20.06.2018
comment
я пытался собрать воедино примеры, которые я видел в Интернете, но регулярное выражение мне почти чуждо.   -  person L-Samuels    schedule 20.06.2018
comment
.*[\r\n] кажется именно тем, что мне нужно при тестировании регулярного выражения в возвышенном текстовом редакторе. Только когда я подключаю его к остальной части моего запроса splunk, я не получаю удовольствия. Я просто возвращаю одно и то же событие с указанными выше несколькими записями   -  person L-Samuels    schedule 20.06.2018


Ответы (2)


Я понимаю, что это можно было бы просто сделать, используя

myQuery | multikv noheader=t

Я надеюсь, что это поможет кому-то еще, поскольку я потратил пару часов, пытаясь правильно понять регулярное выражение.

РЕДАКТИРОВАТЬ: исправлена ​​команда.

person L-Samuels    schedule 20.06.2018

Попробуйте ... | eval events=split(_raw, "\n") | mvexpand events | ....

Кстати, regex101.com отлично подходит для тестирования строк регулярных выражений.

person RichG    schedule 21.06.2018