Учебники

Splunk — Расчетные поля

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

Простейший пример — показать первые три символа дня недели вместо полного названия дня. Нам нужно применить определенную функцию Splunk для достижения этой манипуляции с полем и сохранить новый результат под новым именем поля.

пример

В файле журнала Web_application есть два поля с именами bytes и date_wday. Значение в поле байтов — это количество байтов. Мы хотим отобразить это значение как ГБ. Для этого потребуется разделить поле на 1024, чтобы получить значение в ГБ. Нам нужно применить этот расчет к полю байтов.

Аналогично, date_wday отображает полное название дня недели. Но нам нужно отобразить только первые три символа.

Существующие значения в этих двух полях показаны на рисунке ниже —

Расчетные поля1

Использование функции eval

Для создания вычисляемого поля мы используем функцию eval. Эта функция сохраняет результат расчета в новом поле. Мы собираемся применить следующие два расчета —

# divide the bytes with 1024 and store it as a field named byte_in_GB
Eval byte_in_GB = (bytes/1024)

# Extract the first 3 characters of the name of the day.
Eval short_day = substr(date_wday,1,3)

Добавление новых полей

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

Расчетные поля2

Отображение рассчитанных полей

После выбора полей выше, мы можем увидеть вычисленные поля в результатах поиска, как показано ниже. Поисковый запрос отображает рассчитанные поля, как показано ниже —