Перейти к основному содержимому
Версия: 5.3

fields

Описание

Осуществляет фильтрацию выводимых полей. Позволяет добавить поля в запрос или исключить из него. Поддерживает wildcard.

Синтаксис

fields <filter-options> <field-list>

Обязательные аргументы

ПараметрСинтаксисОписание
<field-list><field>* [, <field>*]Список полей для фильтрации. Поддерживает wildcard.

Опциональные аргументы

ПараметрСинтаксисПо умолчаниюОписание
<filter-options>(+|-)++ указатель на то, что перечисленные поля должны остаться, - указатель на то, что перечисленные поля должны быть убраны из результата.
подсказка

Указатель + можно не указывать.


Примеры запросов

Пример 1

Источник network_indexes содержит сетевые события. В данном примере команда fields ограничивает вывод только полями event.code и observer.hostname.

Фильтрация выводимых полей

В результате вывод будет содержать исключительно указанные поля.

source network_indexes
| fields event.code, observer.hostname

Результат фильтрации выводимых полей


Пример 2

Источник food_orders содержит информацию о заказах. Команда fields исключает из вывода поля type и operation_status.

Фильтрация выводимых полей

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

source food_orders
| fields - 'type', operation_status

Результат фильтрации выводимых полей


Пример 3

Источник winevents содержит журналы событий Windows. В примере используются маски подстановки (wildcard) для фильтрации полей:

  • event* — выбирает все поля, начинающиеся с префикса event
  • *target* — выбирает все поля, содержащие подстроку target

Фильтрация выводимых полей

В результате в выводе будут представлены только те поля, которые соответствуют указанным маскам.

source winevents
| fields event*, *target*

Результат фильтрации выводимых полей


Пример 4

Источник web_indexes содержит сетевые запросы к веб-серверу.

В данном примере демонстрируется комплексная обработка данных:

  1. Команда table формирует табличный вывод с указанными полями
  2. Команда eval вычисляет размер тела ответа в килобайтах и сохраняет результат в поле kbytes
  3. Команда fields с префиксом - исключает из результата ненужные поля
source web_indexes 
| table @timestamp, user.name, user_agent.name, url.path, http.response.status_code, http.response.body.bytes
| eval kbytes=if(isnull(http.response.body.bytes), "-", round(http.response.body.bytes/1024))
| fields - http.response.body.bytes, *status*, user*

Результатом выполнения запроса будет таблица, содержащая только оставшиеся поля:

kbytes@timestampurl.path
102025-05-30T17:42:39.729492Z/walk/stove
452025-05-30T17:41:53.013623Z/drink.jpg
92025-05-30T17:41:06.937597Z/fuel
122025-05-30T17:42:24.324308Z/quilt
472025-05-30T17:38:23.999864Z/drink.ico

Пример 5

В этом примере wildcard event.* исключает всю группу вложенных полей, начинающихся с event.:

source radius_logs
| fields - event.*