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

Lookup Manager

к сведению

Справочник (lookup) - это статическая таблица данных, которая используется для обогащения или преобразования данных во время поиска.

Модуль Lookup Manager отвечает за создание, просмотр, редактирование и удаление справочников, а также за управление значениями, содержащимися в них. Он обеспечивает централизованное управление справочными данными, используемыми в системе.


Структура конфигурации

НазваниеПоле в индексеСинтаксисОписаниеПример данных
Название справочникаname<string>Название справочникаlookup_name
Название индексаidx<string>Название индекса, соответствующее справочникуindex_name
Поляfields<array>Перечень полей справочника, которые используются для обогащенияfield1, field2
Количество строк для отображенияsize<int>Количество строк для отображения данных справочника1000
Чувствительность к региструcase_sensitive<array>Перечень полей из справочника, которые чувствительны к регистру при совпаденииfield1, field2
Wildcardwildcards<array>Перечень полей из справочника, выступающих в роли Wildcard, по которым производится совпадениеfield1, field2
Cidrmatchcidrmatch<array>Перечень полей из справочника, выступающих в роли CidrMatch, по которым производится совпадениеfield1, field2
Условиеcondition<string>условие фильтрации, применяемое перед сопоставлением записей справочникаstatus != "Уволен"
Лимитlimit<int>Ограничение размера справочных данных перед сопоставлением1000
Максимальное количество соответствийmax_match<int>Максимальное количество совпадений из справочника на один результат поиска при выполнении команды lookup100

Создание справочника

Обратите внимание!

Мы рекомендуем присваивать названия индексов для справочников в соответствии с названием lookup.

Для создания справочника необходимо:

  1. Перейти в Список справочников (Навигационное меню - Lookup Manager - Список справочников): Список_справочников

  2. Нажать на конпку Создать. Появится окно с параметрами справочника: Создание_конфигурации_справочника

    В данном окне необходимо заполнить поля конфигурации.

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

к сведению

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


Поиск

Поиск поддерживает сопоставление по правилу wildcard. Условия совпадения, которые указываются при создании справочника, не влияют на результат поиска. Все нижеперечисленные примеры будут рассматриваться на следующем справочнике:

Справочник для примеров поиска

Простое условие

Поиск в справочнике можно осуществлять простым условием по:

  1. Конкретному полю. Например:

Результат поиска первого примера по конкретному полю

  1. Значению, которое может находиться в любом поле. Например:

Результат поиска второго примера по значению поля

Составное условие

Поиск в справочнике можно осуществлять составным условием по:

  1. Конкретным полям. Например:

Результат поиска третьего примера по конкретным полям

  1. Значениям, которые могут находиться в любом поле. Например:

Результат поиска четвертого примера по значениям полей

Добавление новой строки

Если справочник пуст, то для добавления новой строки необходимо:

  1. Нажать на кнопку Добавить новую строчку. После нажатия появится новая строка с пустыми полями

  2. Заполнить поля новой строки значениями

  3. Нажать на кнопку Сохранить. После нажатия изменения вступят в силу

Для добавления новой строки в заполненном справочнике необходимо:

  1. Нажать на существующую строчку Правой кнопкой мыши. После нажатия появится контекстное меню: Контекстное меню

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

  2. В созданной строке заполнить поля значениями

  3. Нажать на кнопку Сохранить. После нажатия изменения вступят в силу


Добавление нового столбца

Для добавления нового столбца в уже заполненном справочнике необходимо:

  1. Нажать на уже существующую строчку или название столбца Правой кнопкой мыши. После нажатия появится контекстное меню: Контекстное меню

    В данном меню необходимо выбрать поле Вставить столбец слева или Вставить столбец справа. После нажатия появится модальное окно:

    Модальное окно

  2. В модальном окне необходимо ввести название столбца

  3. Нажать на кнопку Сохранить в модальном окне. После нажатия в справочнике появится новый столбец

  4. Нажать на кнопку Сохранить


Добавление данных

Добавление данных можно осуществлять несколькими способами:

  1. Создание и заполнение полей значениями новой строки вручную. Добавление новой строки описывалось в соответствующем разделе добавление новой строки

  2. Для дополнения справочника существующими данными воспользуйтесь командой outputlookup

    Обратите внимание!

    Данный способ может перезаписывать поля, при этом прошлые данные будут удалены. Такое поведение характерно, когда параметр append команды outputlookup имеет значение false. В противном случае к существующим данным в справочнике добавятся новые.

  3. Импортировать CSV-файл в справочник. Для импорта данных из CSV-файла необходимо перейти на страницу справочника и нажать кнопку Импорт. После нажатия появится модальное окно:

    Импорт CSV

    В данном окне необходимо выбрать CSV-файл, нажав на поле Выберите .csv файл. После выбора к существующим данным будут добавлены новые.

  4. Дополнить индекс справочника новыми данными через Консоль разработчика. После добавления новых записей изменения автоматически сохранятся


Примеры сопоставления полей

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

Общие правила

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

Справочник для примеров сопоставления без специальных правил

Пример сопоставления одной строки справочника

Если под сопоставление попадает одна строка справочника, то исходное событие дополняется ее данными. Например:

При выполнении следующего запроса:

| makeresults 
| fields - @timestamp
| eval agent.version="8.9.2"
| lookup agents_info agent.version OUTPUT agent.id, agent.name, host.os

Результат выполнения будет следующим:

Результат запроса для первого примера сопоставления без специальных правил

Обратите внимание!

Событие было дополнено полями agent.id, agent.name и host.os с соответствующими значениями строки из справочника.

Пример сопоставления нескольких строк справочника

Если под сопоставление попадает несколько строк справочника, то результирующие поля преобразуются в массив значений их данных. Например:

При выполнении следующего запроса:

| makeresults 
| fields - @timestamp
| eval agent.version="8.9.0"
| lookup agents_info agent.version OUTPUT agent.id, agent.name, host.os

Результат выполнения будет следующим:

Результат запроса для второго примера сопоставления без специальных правил

Обратите внимание!

Событие было дополнено полями agent.id, agent.name и host.os с массивом значений из соответствующих строк.

Пример отсутствия сопоставления в справочнике

При отсутствии сопоставления с полями справочника, событие не подвергается обогащению данными. Например:

При выполнении следующего запроса:

| makeresults 
| fields - @timestamp
| eval agent.version="7.5.5"
| lookup agents_info agent.version OUTPUT agent.id, agent.name, host.os

Результат выполнения будет следующим:

Результат запроса для третьего примера сопоставления без специальных правил

Обратите внимание!

Событие не было дополнено полями agent.id, agent.name и host.os, так как в справочнике отсутствует поле agent.version с необходимым значением.

Пример сопоставления нескольких полей из справочника

Команда inputlookup позволяет проводить сопоставление по нескольким полям, что позволит конкретизировать события, которые необходимо дополнить данными. Например:

При выполнении следующего запроса:

| makeresults 
| fields - @timestamp
| eval agent.version="8.9.0", agent.name="winlogbeat_6"
| lookup agents_info agent.version, agent.name OUTPUT agent.id, host.os

Результат выполнения будет следующим:

Результат запроса для четвертого примера сопоставления без специальных правил

Обратите внимание!

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

Использование чувствительного к регистру поля

При создании справочника имеется возможность указывать поля, которые будут чувствительны к регистру. Демонстрация работоспособности будет проводится на справочнике, который указан в разделе общие правила, где поле agent.name чувствительно к регистру.

При выполнении следующего запроса:

| makeresults 
| fields - @timestamp
| eval agent.name="WinLogBeat_1"
| lookup agents_info agent.name OUTPUT agent.id, agent.version, host.os

Результат выполнения будет следующим:

Результат запроса для первого примера сопоставления с чувствительным к регистру полем

Обратите внимание!

В событии не добавились данные из справочника, где agent.name имеет значение winlogbeat_1.

Если бы поле agent.name не было чувствительно к регистру, то результат был следующим:

Результат запроса для второго примера сопоставления с чувствительным к регистру полем

Обратите внимание!

Событие дополнилось данными из справочника, где agent.name имеет значение winlogbeat_1.

Wildcard

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

Обратите внимание!

Данные, которые находятся в указанном поле, должны иметь wildcard-значения.

Справочник для первого примера:

Справочник для первого примера wildcard

Обратите внимание!

Поле agent.version сопоставляется по принципу wildcard.

При выполнении следующего запроса:

| makeresults 
| fields - @timestamp
| eval agent.version="4.6.5"
| lookup agents_info agent.version OUTPUT agent.id, agent.name, host.os

Результат выполнения будет следующим:

Результат запроса для первого примера wildcard

Обратите внимание!

Событие было дополнено полями agent.id, agent.name и host.os с соответствующими значениями строки из справочника.

Cidrmatch

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

Обратите внимание!

Данные, которые находятся в указанном поле, должны иметь cidrmatch-значения.

Все примеры будут проводиться на следующем справочнике:

Справочник для примеров cidrmatch

Обратите внимание!

Поле host.netmask сопоставляется по принципу cidrmatch.

При выполнении следующего запроса:

| makeresults 
| fields - @timestamp
| eval host.ip="25.22.8.3"
| lookup agents_info host.netmask AS host.ip OUTPUT agent.id, agent.name, host.os, agent.version, host.netmask

Результат выполнения будет следующим:

Результат запроса для первого примера cidrmatch

Обратите внимание!

Событие было дополнено полями agent.id, agent.name, host.os, agent.version и host.netmask с соответствующими значениями строки из справочника.

Условия

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

Укажем следующее условие при создании справочника:

Условие для первого примера

В случае обращения к строке, где agent.name имеет значение winlogbeat_7. Исходное событие не будет обогащено данными.

При выполнении следующего запроса:

| makeresults 
| fields - @timestamp
| eval agent.name="winlogbeat_7"
| lookup agents_info agent.name OUTPUT agent.id, host.os, agent.version

Результат выполнения будет следующим:

Результат запроса для первого примера условия

Обратите внимание!

Событие не было дополнено полями agent.id, host.os и agent.version, так как происходит поиск строки, где agent.name имеет значение winlogbeat_7, что противоречит условию, которое указано в справочнике.


Взаимодействие

Справочник предоставляет расширенный набор возможностей для работы с данными:

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

Вставка из буфера обмена

Для вставки данных из буфера обмена выполните следующие действия:

  1. Скопируйте в TSV-формате необходимый диапазон сочетанием Ctrl + C / Cmd + C
  2. В таблице выделите одну или несколько ячеек, в которые хотите вставить данные
  3. Нажмите Ctrl + V / Cmd + V

Данные будут автоматически вставлены в выделенную область. При необходимости таблица расширится (добавятся новые строки), а имена столбцов останутся уникальными.

Справочник с выделенной областью

к сведению

При работе с таблицей выбранные ячейки получают визуальное оформление.

Как работает вставка из буфера

Вставка от опорной ячейки

Применяется, если выделенная область в таблице меньше размеров буфера обмена.

  • вставка начинается с этой «якорной» ячейки (ячейка в верхнем левом углу выделенной области) идет вправо и вниз
  • если буфер заканчивается, значения повторяются циклично

Диапазонная вставка

Применяется, когда область выделения совпадает с данными в буфере обмена.

  • каждое значение из буфера попадает в ячейку выделения в том же относительном положении

Быстрые клавиши

ОперацияСочетание клавишОписание
WindowsMac
Выделение всехCtrl + ACmd + AВыделяет все заголовки и ячейки данных
КопированиеCtrl + CCmd + CКопирует выделенные ячейки (включая заголовки) в формате TSV
ВставкаCtrl + VCmd + VВставляет содержимое буфера обмена в текущий диапазон
ОчисткаDeleteУдаляет содержимое выделенных ячеек
Отмена действияCtrl + ZCmd + ZОтменяет последнее изменение
Повтор действияCtrl + YCmd + Shift + ZПовторяет последнее отмененное действие