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

Lookup Manager

к сведению

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

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


Список справочников​

Для просмотра существующих справочников необходимо перейти в раздел Навигационное меню - Справочники. На странице отображается список справочников:

Список справочников

Таблица списка содержит следующие столбцы:

  • Название справочника - название и теги справочника, при нажатии открывается редактор справочника
  • Параметры - название индекса и перечень полей справочника
  • Тип справочника - Системный или Пользовательский

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

Меню действий в конце каждой строки содержит следующие пункты:

  • Теги - управление тегами справочника
  • Редактировать - переход к редактированию справочника
  • Разрешения - настройка прав доступа
  • Открыть в поиске - открытие данных справочника на странице Поиск в новой вкладке
  • Удалить - удаление справочника, недоступно для системных справочников

При выборе нескольких справочников с помощью флажков становятся доступны массовые операции: изменение тегов и разрешений (Редактировать выбранное), а также массовое удаление.

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

Если в системе настроен коррелятор, на странице отображаются вкладки Список справочников и Активные списки. Работа с активными списками будет описана в отдельном разделе.


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

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

Рекомендуется присваивать индексам справочников названия, соответствующие названиям lookup.

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

  1. Перейти в Список справочников и нажать кнопку Создать. Откроется мастер создания справочника

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

  3. На шаге Исходный индекс ввести новое имя индекса или выбрать существующий индекс из списка

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

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

    • для нового индекса необходимо добавить поля с помощью кнопки Добавить поле, указав название и тип каждого поля

      Доступны следующие типы полей: Строка, Целое число, Дробное число, Дата, Булево, IP-адрес. Подробнее о типах в разделе типы данных.

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

  5. Нажать кнопку Продолжить. Дальнейшее поведение зависит от типа индекса

    • при выборе существующего индекса справочник будет создан сразу, откроется редактор с данными индекса

    • при создании нового индекса откроется пустая таблица редактора. Индекс и конфигурация справочника будут созданы после нажатия кнопки Сохранить

      Пустой справочник

После создания справочник отобразится в общем списке.


Редактор справочника​

Редактор открывается при нажатии на название справочника в списке и предназначен для просмотра и изменения данных и настроек справочника:

Редактор справочника

Данные загружаются с сервера постранично, поэтому редактор одинаково работает со справочниками любого объема.

Панель инструментов​

В верхней части редактора расположены строка поиска и следующие кнопки:

Типы данных​

Каждый столбец справочника имеет тип данных. Иконка типа отображается в заголовке столбца рядом с названием. Тип определяет форму ввода значения и доступные операции фильтрации:

ТипОтображениеФорма ввода
Строкатексттекстовое поле
Целое числочисло с разделением разрядовчисловое поле
Дробное числочисло с разделением разрядовчисловое поле
Дататекстовое представление датытекстовое поле, значение сохраняется без преобразования
Булевопереключательпереключатель прямо в ячейке, без перехода в режим редактирования
IP-адресмоноширинный текствсплывающий редактор с выбором версии IPv4 / IPv6

Редактирование ячейки начинается двойным щелчком или нажатием Enter на выбранной ячейке. Редактор IP-адреса для версии IPv4 состоит из четырех сегментов с автоматическим переходом между ними:

Редактор IP-адреса

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

Редактор массивов​

Редактор массивов открывается двойным кликом по ячейке с массивом или с помощью пункта Редактировать как массив контекстного меню ячейки. Редактор содержит две вкладки: Список и JSON.

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

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

Вкладка JSON позволяет редактировать массив в виде текста с подсветкой синтаксиса и проверкой корректности JSON:

Для пустого массива вкладка Список предлагает выбрать способ заполнения: Список значений или Таблица объектов.

Кнопка Применить переносит изменения в ячейку. Кнопка недоступна, если во вкладке JSON введен некорректный JSON.

Настройки справочника​

Настройки открываются кнопкой Настройки справочника на панели инструментов редактора:

Настройки справочника

В настройках доступны следующие параметры:

  • Название конфигурации и Название индекса - недоступны для изменения после создания справочника, значения можно скопировать в буфер обмена
  • Поле сортировки по умолчанию - поле, по которому сортируется таблица, если сортировка не задана
  • раздел Правила совпадения - параметры Условие, Лимит и Максимальное количество соответствий
  • раздел Правила полей - перечни полей Чувствительность к регистру, Wildcard и Cidrmatch

Описание параметров приведено в разделе структура конфигурации.

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

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

Работа со строками​

Основные операции со строками выполняются через контекстное меню, которое открывается щелчком правой кнопки мыши по ячейке:

Контекстное меню ячейки

Доступны следующие пункты:

  • Копировать - копирование выделенных ячеек в буфер обмена
  • Вставить - вставка содержимого буфера обмена в выделенную область
  • Вставить выше / Вставить ниже - вставка содержимого буфера обмена в виде новых строк, существующие данные не перезаписываются
  • Добавить выше / Добавить ниже - добавление новой пустой строки
  • Очистить - очистка значений выделенных ячеек
  • Редактировать как массив - открытие редактора массивов

Пункты, недоступные в текущем контексте, скрываются. Например, пункты вставки не отображаются при пустом буфере обмена.

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

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

Работа со столбцами​

Операции со столбцами выполняются через контекстное меню, которое открывается щелчком правой кнопки мыши по заголовку столбца:

Контекстное меню заголовка

Доступны следующие пункты:

  • Добавить справа / Добавить слева - добавление нового столбца. В появившемся модальном окне необходимо указать название и тип поля

  • Удалить - удаление столбца. Поле убирается только из конфигурации справочника, данные в индексе физически сохраняются: при создании столбца с тем же именем и типом значения снова отобразятся в таблице

  • Настроить - настройка нового (еще не сохраненного) столбца: переименование и изменение типа

  • Закрепить / Открепить - закрепление столбца у левого края таблицы

  • Скрыть - скрытие столбца

  • Сбросить порядок - возврат исходного порядка столбцов

Ширину столбца можно изменять, перетаскивая границу заголовка, а порядок столбцов - перетаскиванием самих заголовков. Ширина, порядок и видимость столбцов сохраняются в браузере пользователя.

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

Скрытые столбцы

Выделение и буфер обмена​

Таблица поддерживает выделение отдельных ячеек и диапазонов:

  • выделение диапазона - перетаскивание курсора при зажатой левой кнопке мыши
  • Shift + клик - выделение диапазона от текущей ячейки
  • Ctrl/Cmd + клик - добавление или исключение отдельных ячеек
  • клик по столбцу с номерами строк - выделение всей строки

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

Копирование выполняется в формате TSV, поэтому данные можно переносить между справочником и табличными редакторами, например Excel. Вставка из буфера обмена работает в двух режимах:

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

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

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

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

Подсветка изменений​

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

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

Подсветка изменений

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

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

Отмена и повтор действий​

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

При попытке покинуть страницу с несохраненными изменениями отображается предупреждение:

Несохраненные изменения

Сортировка и фильтрация​

Сортировка включается кликом по заголовку столбца и переключается циклически: по возрастанию, по убыванию, без сортировки. Одновременно таблица сортируется только по одному столбцу. Если сортировка не задана, применяется Поле сортировки по умолчанию из настроек справочника.

Фильтр столбца открывается кнопкой с изображением воронки в заголовке:

Фильтр столбца

Набор операций фильтра зависит от типа данных столбца:

  • текстовые поля: Равно, Не равно, Начинается с, Содержит, Не содержит, Заканчивается на, Пусто, Не пусто
  • числовые поля: Равно, Не равно, Больше, Больше или равно, Меньше, Меньше или равно, В диапазоне, Пусто, Не пусто
  • поля IP-адресов: Равно, Не равно, Пусто, Не пусто. В качестве значения можно указать точный IP-адрес или подсеть в формате CIDR, например 192.168.0.1/24

В одном фильтре можно объединить до 10 условий с помощью логических операторов И / ИЛИ. Кнопка Сбросить очищает фильтр текущего столбца.

к сведению

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

Навигация по страницам​

В нижней части редактора расположена панель навигации:

Панель навигации

Кнопка Строк на странице позволяет выбрать количество строк на странице: 50, 100, 250, 500 или 1000 строк. Поле Перейти к странице выполняет переход к произвольной странице по ее номеру.

Хранилище данных ограничивает глубину перехода: за один запрос можно пропустить не более 100 000 строк от начала, от конца или от текущей позиции. При попытке перейти к странице за пределами лимита отображается предупреждение с предложением выполнить переход в несколько шагов:

Ограничение перехода


Поиск​

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

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

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

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

  1. Конкретному полю, как показано в примере

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

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

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

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

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

  1. Конкретным полям, как показано в примере

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

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

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


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

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

  1. Создать и заполнить строки вручную. Работа со строками описана в разделе работа со строками

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

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

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

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

    Импорт CSV

    В окне импорта нажмите Выберите .csv файл, выберите CSV-файл и нажмите Импорт. Новые записи добавляются к существующим данным. Разделитель определяется автоматически по строке заголовка файла.

    Особенности импорта:

    • размер файла не ограничен: данные считываются и отправляются на сервер частями, во время загрузки отображается прогресс
    • переключатель Объединить колонки из .csv-документа добавляет в справочник столбцы из заголовка файла, которых еще нет в конфигурации
    • прерванную загрузку можно возобновить: при повторном выборе того же файла появится предложение продолжить с места остановки (Продолжить) или начать заново (Начать заново)
  4. Дополнить индекс справочника новыми данными через Консоль разработчика. После добавления новых записей изменения сохраняются автоматически


Экспорт данных​

Кнопка Экспорт на панели инструментов выгружает данные справочника с учетом несохраненных изменений в файл <название справочника>.csv.


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

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

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


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

Во всех приведенных ниже примерах используется команда 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 с необходимым значением.

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

Команда lookup позволяет сопоставлять несколько полей, чтобы точнее определить события для дополнения данными:

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

| 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, поскольку значение winlogbeat_7 в поле agent.name противоречит условию справочника.


Удаление справочника​

Для удаления справочника необходимо в списке справочников открыть меню действий строки и выбрать пункт Удалить. Появится окно подтверждения:

Удаление справочника

По умолчанию удаляется только конфигурация справочника. Переключатель Также удалить хранилище (индекс с данными) дополнительно удаляет индекс вместе с данными.

Для удаления нескольких справочников выберите их с помощью флажков в списке и нажмите кнопку массового удаления.

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

Удаленный справочник нельзя восстановить.