Перейти к основному содержимому
Версия: 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 противоречит условию справочника.


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

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

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

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

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

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

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