[splunk]: получить количество попаданий в запросе регулярных выражений - PullRequest
0 голосов
/ 27 марта 2020

Я ищу список регулярных выражений в предупреждении о лишних, например:

... | regex "regex1|regex2|...|regexn"

Могу ли я изменить этот запрос, чтобы получить таблицу найденных регулярных выражений вместе с их количеством. В таблице не должно быть строк с 0 счетами.

regex2 17
regexn 3

Ответы [ 2 ]

1 голос
/ 27 марта 2020

Команда regex просто фильтрует события. Все, что мы знаем, это то, что каждый результат передан регулярному выражению. Нет записи или указания, почему или как какое-либо событие прошло.

Чтобы сделать это, вам нужно будет извлечь уникальное поле или значение из каждого регулярного выражения, а затем протестировать полученные события, чтобы увидеть, какое поле или значение присутствовал Команда regex, однако, ничего не извлекает. Для этого вам понадобится команда rex или функция match.

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

выглядит как | строка регулярных выражений не нужна. Это работает для меня. Обратите внимание на дополнительные скобки.

| rex max_match=0 "(?P<countfields>((regex1)|(regex2)|..|(regexn)))"
| stats count by countfields
...