Приветствую,
уважаемый читатель!
Эта небольшая заметка
будет про оператор SPL
–
makeresult.
У него специфическая функция, он позволяет использовать некоторые операторы SPL (eval, rex) в качестве первого оператора в
запросе, а в связке с оператором return
применяется
для связывания запросов. Казалось бы, зачем? Ответ ниже J
Итак, как вы помните, в
начале любого SPL-запроса
необходимо указать index, source, sourcetype, inputcsv или
любой другой оператор, при помощи которого запрашиваются события из какого-либо
источника. Но что делать, если необходимо с использованием операторов SPL (eval, rex)
обработать
одно конкретное значение. Это значение может быть передано в запрос, например,
через токен на дашборде.
Вбив оператор в строке поиска, Splunk вернёт
текущее время:
| makeresults
Теперь добавим в запрос токен с произвольным
значением:
| makeresults
| eval token="Text_token"
Самое главное, что получив через токен произвольное значение, мы можем
его обработать и использовать в запросе как условие выборки. Для примера,
получим события из логов Apache, предварительно обработав значение токена при помощи оператора rex.
sourcetype=Apache_access
(method = [| makeresults | eval token="method:POST" | rex mode=sed
field=token "s/method\://g" | return $token])
|
table clientip,uri,method
В
данном примере для передачи значения между разными частями запроса используется
оператор return.
Всем
удачного использования J
Комментариев нет:
Отправить комментарий