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 содержит сетевые запросы к веб-серверу.
В данном примере демонстрируется комплексная обработка данных:
- Команда
tableформирует табличный вывод с указанными полями - Команда
evalвычисляет размер тела ответа в килобайтах и сохраняет результат в полеkbytes - Команда
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 | @timestamp | url.path |
|---|---|---|
| 10 | 2025-05-30T17:42:39.729492Z | /walk/stove |
| 45 | 2025-05-30T17:41:53.013623Z | /drink.jpg |
| 9 | 2025-05-30T17:41:06.937597Z | /fuel |
| 12 | 2025-05-30T17:42:24.324308Z | /quilt |
| 47 | 2025-05-30T17:38:23.999864Z | /drink.ico |
Пример 5
В этом примере wildcard event.* исключает всю группу вложенных полей, начинающихся с event.:
source radius_logs
| fields - event.*