Подпоиск — это особый случай регулярного поиска, когда результатом вторичного или внутреннего запроса является входная информация для первичного или внешнего запроса. Это похоже на концепцию подзапроса в случае языка SQL. В Splunk первичный запрос должен возвращать один результат, который может быть введен во внешний или вторичный запрос.
Когда поиск содержит подпоиск, подпоиск запускается первым. Подиски должны быть заключены в квадратные скобки при первичном поиске.
пример
Рассмотрим случай поиска файла из веб-журнала, который имеет максимальный размер в байтах. Но это может меняться каждый день. Тогда мы хотим найти только те события, где размер файла равен максимальному размеру, а это воскресенье.
Создать подпоиск
Сначала мы создаем подпоиск, чтобы найти максимальный размер файла. Мы используем функцию Stat max с полем с именем bytes в качестве аргумента. Это определяет максимальный размер файла за период времени, в течение которого выполняется поисковый запрос.
На изображении ниже показаны результаты поиска и результаты этого поиска.
Добавление подпоиска
Затем мы добавляем запрос подзапроса к первичному или внешнему запросу, помещая подзапрос в квадратные скобки. Также к поисковому запросу добавляется условие поиска.
Как мы видим, результат содержит только события, размер файла которых равен максимальному размеру файла, найденному с учетом всех событий, а днем события является воскресенье.