Извлечение определенных полей из результатов запроса Splunk - PullRequest
0 голосов
/ 11 октября 2018

Я хочу напечатать значение определенного поля из набора событий, которые возникают в результате выполнения определенного поискового запроса.Вот мой запрос:

index=abc "all events that contain this string" sourcetype=prd

Теперь он возвращает определенные события, которые содержат поле с именем traceId.Я хочу извлечь из результата уникальные traceId и распечатать их.Вот запрос, который я использую в настоящее время, но безрезультатно:

index=abc "all events that contain this string" sourcetype=prd | rex field=_raw "traceId: (?<traceId>.*)"

Этот запрос печатает все поля в событии (события печатаются как документы JSON.).

Может кто-топомочь мне с этим?Я никогда раньше не работал со Splunk, поэтому, пожалуйста, будьте спокойны, если вопрос выглядит немного проще.

Спасибо!

1 Ответ

0 голосов
/ 12 октября 2018

Ответ на этот вопрос без каких-либо примеров данных практически невозможен ... тем не менее, я думаю, что вы получаете все данные, потому что:

  1. вы не используете команду fields для фильтрации ваших областей интересов,Это будет выглядеть так: `index = abc" все события, которые содержат эту строку "sourcetype = prd |rex field = _raw "traceId: (?. *) | fields fiel1, field2, traceId"
  2. ваше регулярное выражение жадное, что означает, что поле traceId будет содержать весь текст от этой точки до концасобытие.Попытайтесь быть более точным, например \d+ для числовых данных или даже [^\s]+ для незаполненных.

~ HTH

...