Splunk - вычисляемые поля

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

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

пример

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

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

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

Использование функции 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)

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

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

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

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