Kaspersky Unified Monitoring and Analysis Platform
Использование набора функций enrich в SQL-запросах

Набор функций enrich (см. таблицу ниже) применяется в блоке SELECT SQL-запроса для обогащения результатов.

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

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

Значения полей актива, которые указываются в SQL-запросах, являются регистрозависимыми.

Описание набора функций enrich

Функция

Поле события

Поле актива

Описание

enrich_assets

DeviceAssetID

DestinationAssetID

SourceAssetID

 

name

os

osBuild

ipAddress

macAddress

fqdn

source

software

cii

ramSize

kscLastAvBasesUpdate

kscLastInfoUpdate

kscLastUpdate

kscLastSystemStart

kscStatusMask

kscRtProtectionState

kscEncryptionState

kscAntiSpamStatus

kscEmailAvStatus

kscDlpStatus

kscStatusID

kscEdrStatus

lastVisible

aistatus

aiscore

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

Например:

enrich_assets(DeviceAssetID, name)

enrich_accounts

SourceAccountID

DestinationAccountID

name

guid

domain

cn

dn

employee_id

email

mail_nickname

mobile

sid

sam_name

telephone_number

principal_name

sn

type

title

division

department

manager

location

company

street_address

physical_delivery_office_name

uac

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

Например:

enrich_account(SourceAccountID, name)

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

enrich_table

Любое

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

Например:

enrich_table('Main/some-table', [DeviceProduct], 'value')

Ключевой может быть только один столбец таблицы, но ключ записи может быть составным.

Например:

enrich_table('Main/Dictionary', [BytesOut|BytesIn], 'value2')

Функция enrich_table возвращает только один столбец таблицы. Если надо вызвать больше столбцов, вызовите функцию повторно с указанием нужных полей.

enrich_dictionary

Любое

Позволяет обогатить результат запроса значениями из словаря с типом Словарь на основании полей событий в ответе от кластера ClickHouse.

Например:

  • enrich_dictionary('Main/some-dict', [SourceAddress]
  • enrich_dictionary('Main/some-dict', [SourceAddress, DeviceAddress])

Вы можете посмотреть путь до словаря в разделе РесурсыСловари.

Примеры SQL-запросов с функцией enrich

Вы можете задавать функцию enrich при ручном создании SQL-запросов. Примеры запросов с функцией enrich:

  • Все события таблицы events с полями событий Name и Message, а также с полями актива macAddress и osBuild для обогащения результата данными актива. Количество отображаемых в таблице строк – 250.

    SELECT Name,

    Message,

    enrich_assets(DeviceAssetID, macAddress),

    enrich_assets(DeviceAssetID, osBuild)

    FROM `events`

    WHERE DeviceAssetID != ''

    LIMIT 250

  • Все события таблицы events с полями событий SourceUserName и SourceAddress,а также со значениями поля mobile для обогащения результата данными учетной записи. Количество отображаемых в таблице строк – 10.

    SELECT SourceUserName,

    SourceAddress,

    enrich_accounts(SourceAccountID, mobile) as mobile

    FROM `events`

    WHERE SourceAccountID != ''

    LIMIT 10

  • Все события таблицы events с полями событий DeviceProduct со значениями из таблицы Main/[OOTB] Linux. Auditd record types. Отсортированы по столбцу Timestamp в порядке убывания. Количество отображаемых в таблице строк – 1000.

    SELECT DeviceProduct,

    enrich_table('Main/[OOTB] Linux. Auditd record types', [DeviceProduct], 'Description') as HTTP

    FROM `events` WHERE Type!=4

    LIMIT 1000

  • Все события таблицы events с полями событий DeviceAction со значениями из словаря Main/[OOTB] KEDR. Количество отображаемых в таблице строк – 255.

    SELECT DeviceAction,

    enrich_dictionary('Main/[OOTB] KEDR. AccountType', [BytesOut]) as accountType

    FROM `events` WHERE Type!=4

    LIMIT 255