Ошибка Splunk указывает по крайней мере одну именованную группу - PullRequest
0 голосов
/ 20 марта 2020

Я выполняю ниже ответный запрос.

index=api sourcetype=api-warn environ::api-prod* 
| bin _time span=1h
| rex mode=sed field=service_name "s#\..*$##" | rex field=requestPath "https://api.com.org.net/(abc)/(def)"
| stats count(service_name) by _time,service_name

Ошибка ниже: Ошибка в команде 'rex': регулярное выражение 'https://api.com.org.net/ (ab c) / (def) 'ничего не извлекает. Следует указать хотя бы одну именованную группу. Формат: (? ...).

Предположим, один из URL-адресов:

https://api.com.org.net/abc/def/some_number/?key=value&key=value

Мое регулярное выражение:

https:\/\/(<api\.com\.org\.net\/abc\/def>*)

Мое регулярное выражение не URL-адрес, может кто-нибудь помочь.

Не уверен, что здесь проблема. Я использую регулярное выражение для соответствия части URL abc / def в URL. Не уверен, что происходит не так. Кто-нибудь может направить меня в правильном направлении?

1 Ответ

0 голосов
/ 20 марта 2020

Команде rex требуется как минимум одна группа захвата в форме (?<fieldname>...), где 'fieldname' - это имя поля Splunk, а '...' - регулярное выражение. Если вы просто хотите фильтровать данные, а не извлекать поля, используйте команду regex.

...