Структура правила сбора данных (DCR) в Azure Monitor

В этой статье описывается структура JSON для DCR в тех случаях, когда необходимо работать непосредственно с их определением.

Свойства

В следующей таблице описываются свойства на верхнем уровне DCR.

Недвижимость Описание
description Необязательное описание правила сбора данных, определенного пользователем.
dataCollectionEndpointId Идентификатор ресурса конечной точки сбора данных (DCE), используемой DCR при создании DCR. Это свойство отсутствует в DCR, которые не используют DCE.
endpoints 1 Содержит logsIngestion и metricsIngestion URL-адрес конечных точек для DCR. Этот раздел и его свойства автоматически создаются при создании DCR только в том случае, если kind атрибут в DCR имеет значение Direct.
immutableId Уникальный идентификатор правила сбора данных. Это свойство и его значение автоматически создаются при создании DCR.
kind Указывает сценарий сбора данных, для который используется DCR. Этот параметр описан далее в следующем разделе.
transformations (предварительная версия) Массив именованных конвейеров преобразования, используемых многоэтапными преобразованиями. Каждая запись определяет обработчик заголовков и упорядоченную последовательность процессоров. Ссылается dataSources на свойство и dataFlows через нее transform . Требуется версия 2025-05-11 API или более поздняя. См. преобразования.

1 Это свойство не было создано для DCR, созданных до 31 марта 2024 г. Запросы на изменение данных, созданные до этой даты, требовали указания конечной точки сбора данных (DCE) и dataCollectionEndpointId свойства. Если вы хотите использовать эти внедренные контроллеры домена, необходимо создать новый DCR.

Добрый

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

В следующей таблице перечислены различные типы DCR и их подробные сведения.

Добрый Описание
Direct Прямое потребление журналов с помощью API приема. Конечные точки создаются для DCR только тогда, когда используется этот тип значения.
AgentSettings Настройка параметров агента Azure Monitor.
Linux Сбор событий и данных о производительности с компьютеров Linux.
PlatformTelemetry Экспорт метрик платформы.
Windows Сбор событий и данных о производительности с компьютеров Windows.
WorkspaceTransforms Преобразование рабочей области DCR. Этот DCR не включает входной поток.

Обзор потока данных DCR

Базовый поток DCR показан на следующей схеме. Каждый из компонентов описан в следующих разделах.

Схема, демонстрирующая связь между различными разделами DCR.

Полный поток данных через DCR следует этой последовательности: источники данных → потоки вводапотоки данныхназначения. Не все типы DCR используют каждый элемент. В следующей таблице показано, какие элементы применяются к каждому типу DCR.

Тип DCR Источники данных Входные потоки Потоки данных Назначения
AMA DCR (Linux, Windows) Yes Yes Yes Yes
Прямой прием контроллеров домена (Direct) нет Yes Yes Yes
Контроллеры домена преобразования рабочей области (WorkspaceTransforms) нет нет Yes нет

При многоэтапных преобразованиях раздел transformations добавляет конвейеры процессора, которые применяются на этапе источника данных (на стороне клиента) или на этапе потока данных (на стороне приема) в зависимости от того, где ссылается именованное преобразование.

Входные потоки

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

Замечание

Преобразования рабочей области DCR не имеют входного потока.

Входной поток Описание
dataSources Известный тип данных. Этот тип часто поступает из данных, обработанных агентом Azure Monitor и доставленным в Azure Monitor с помощью известного типа данных.
streamDeclarations Пользовательские данные, требующие определения в DCR.

Данные, отправленные из API приема журналов, используют streamDeclaration схему входящих данных, так как API отправляет пользовательские данные.

Текстовые журналы агента Azure Monitor (AMA) являются примером сбора данных, для которых требуется как dataSources, так и streamDeclarations. Источник данных включает конфигурацию для подключения к источнику данных и streamDeclarations определяет схему входящих данных.

Источники данных

Источники данных — это уникальные источники данных мониторинга, каждый из которых имеет собственный формат и метод для предоставления данных. Каждый тип источника данных имеет уникальный набор параметров, которые необходимо настроить для каждого источника данных. Источник данных обычно возвращает известный тип данных, поэтому не нужно определять схему в DCR.

Например, события и данные о производительности, собранные с виртуальной машины с помощью агента Azure Monitor (AMA), используют такие источники данных, как windowsEventLogs и performanceCounters. Вы указываете критерии для событий и счетчиков производительности, которые требуется собрать, но не нужно определять структуру данных, так как эта схема известна потенциальными входящими данными.

Общие параметры источника данных

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

Параметр Описание
name Имя для идентификации источника данных в DCR.
streams Список потоков, собираемых источником данных. Если этот поток является стандартным типом данных, например событием Windows, поток отображается как Microsoft-<TableName>. Если это пользовательский тип, поток отображается как Custom-<TableName>.
transform (предварительная версия) Имя преобразования из transformations раздела для применения клиентской стороны. Используйте это свойство для многоэтапных преобразований. См. многоэтапные преобразования.

Допустимые типы источников данных

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

Тип источника данных Описание Потоки Параметры
eventHub Данные из центров событий Azure. Пользовательский1 consumerGroup — группа потребителей концентратора событий для сбора данных.
iisLogs Журналы IIS с компьютеров Windows Microsoft-W3CIISLog logDirectories — каталог, в котором журналы IIS хранятся на клиенте.
logFiles Текстовый или JSON-журнал на виртуальной машине Пользовательский1 filePatterns — Шаблон папки и файла для файлов журналов, собираемых из клиента.
format - json или text
performanceCounters Счетчики производительности для виртуальных машин Windows и Linux Microsoft-Perf
Microsoft-InsightsMetrics
samplingFrequencyInSeconds — частота выборки данных о производительности.
counterSpecifiers — Объекты и счетчики, которые следует собирать.
prometheusForwarder Данные Prometheus, собранные из кластера Kubernetes. Microsoft-PrometheusMetrics streams — потоки данных для обработки
labelIncludeFilter — Список фильтров для включения меток в формате пар "имя-значение". В настоящее время поддерживается только microsoft_metrics_include_label .
syslog События системного журнала на виртуальных машинах Linux

События в общем формате событий на устройствах безопасности
Microsoft-Syslog

Microsoft-CommonSecurityLog для CEF
facilityNames - Оборудование для сбора
logLevels — уровни журнала для сбора
windowsEventLogs Журнал событий Windows на виртуальных машинах Microsoft-Event xPathQueries — XPaths, указывающие критерии для событий, подлежащих сбору.
extension Источник данных на основе расширений, используемый агентом Azure Monitor. Зависит от расширения extensionName — имя расширения
extensionSettings — Значения для каждого параметра, требуемого расширением

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

Объявления потоков

Объявите различные типы данных, которые вы отправляете в рабочую область Log Analytics. Каждый поток — это объект, ключ которого представляет имя потока, которое должно начинаться с custom-. Поток содержит полный список свойств верхнего уровня, содержащихся в отправляемых данных JSON. Форма данных, отправляемых в конечную точку, не должна соответствовать форме целевой таблицы. Вместо этого выходные данные преобразования, примененного поверх входных данных, должны соответствовать целевой форме.

Типы данных

Назначьте следующие типы данных свойствам:

  • string
  • int
  • long
  • real
  • boolean
  • dynamic
  • datetime

Тип guid недоступен в объявлениях потоков. Если исходные данные содержат значения GUID, объявите эти столбцы как string. API таблиц поддерживает guid тип, но значения фактически хранятся и запрашиваются в виде строк. Дополнительные сведения см. в разделе Column типов данных в журналах Azure Monitor.

Назначения

Включите запись для каждого места назначения, в котором вы отправляете данные в destinations разделе. Сопоставляйте эти назначения с входными потоками в dataFlows разделе.

Общие параметры назначения

Параметры Описание
name Имя для идентификации назначения в разделе dataSources.

Допустимые назначения

В следующей таблице перечислены доступные назначения.

Место назначения Описание Обязательные параметры
azureDataExplorer Анализатор данных Azure resourceId — идентификатор ресурса кластера ADX
databaseName — Имя базы данных в кластере ADX
ingestionUri — URI для загрузки данных в кластер
azureMonitorMetrics Метрики Azure Monitor Конфигурация не требуется, так как для подписки существует только одно хранилище метрик.
logAnalytics Рабочая область Log Analytics workspaceResourceId — идентификатор ресурса рабочей области.
workspaceID — идентификатор рабочей области

Этот параметр указывает только рабочую область, а не таблицу, в которой отправляются данные. Если это известное назначение, вам не нужно указывать таблицу. Для пользовательских таблиц укажите таблицу в источнике данных.
microsoftFabric Центр событий Microsoft Fabric tenantId — идентификатор арендатора рабочей области Fabric
databaseName — Имя базы данных в хранилище событий Fabric
ingestionUri - URI загрузки базы данных Fabric eventhouse

Это важно

Один поток может отправляться только в одну рабочую область Log Analytics в DCR. Вы можете использовать несколько dataFlow записей для одного потока, если они используют разные таблицы в одной рабочей области. Если необходимо отправить данные в несколько рабочих областей Log Analytics из одного потока, создайте отдельный DCR для каждой рабочей области.

Потоки данных

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

Свойства потока данных

Секция Описание
streams Один или несколько потоков, определенных в разделе входных потоков. Включите несколько потоков в один поток данных, если вы хотите отправить несколько источников данных в одно место назначения. Используйте только один поток, если поток данных включает преобразование. Используйте один поток для нескольких потоков данных, если требуется отправить определенный источник данных нескольким таблицам в одной Log Analytics рабочей области.
destinations Одно или несколько пунктов назначения из приведенного destinations выше раздела. Для сценариев с несколькими адресами разрешено несколько назначений.
transform (предварительная версия) Имя преобразования из transformations раздела, применяемого во время приема. Взаимоисключающ с transformKql. См. многоэтапные преобразования.
transformKql Необязательное преобразование, применяемое к входящему потоку. Преобразование должно понимать схему входящих данных и выходных данных в схеме целевой таблицы. При использовании преобразования поток данных должен содержать только одну последовательность. Взаимоисключающ с transform.
outputStream Описывает таблицу в рабочей области, указанной в свойстве destination , в которую будут отправляться данные. Значение outputStream имеет формат Microsoft-[tableName] при приеме данных в стандартную таблицу или Custom-[tableName] при приеме данных в настраиваемую таблицу. Для каждого потока допускается только одно назначение.

Это свойство не используется для известных источников данных из Azure Monitor, таких как события и данные о производительности, так как они отправляются в предопределенные таблицы.

Transformations

Это важно

В настоящее время многоэтапные преобразования находятся в общедоступной предварительной версии. Для этого раздела требуется версия 2025-05-11 API или более поздняя. Ознакомьтесь с Дополнительными условиями использования для предварительных версий Microsoft Azure, чтобы узнать юридические условия, применимые к функциям Azure, которые находятся в статусе бета, предварительного просмотра или иначе еще не выпущены в общий доступ.

В transformations разделе определяются повторно используемые именованные преобразования, на которые ссылается dataSources и dataFlows. Каждое преобразование определяет конвейер процессоров , которые применяются последовательно к данным. Дополнительные сведения см. в многоэтапных преобразованиях .

"transformations": [
    {
        "name": "my_transform",
        "headerProcessor": {
            "processor": "header.Syslog",
            "configuration": { }
        },
        "processors": [
            {
                "processor": "filter.Basic",
                "configuration": {
                    "any": [
                        {
                            "all": [
                                {
                                    "columnName": "Facility",
                                    "operator": "==",
                                    "value": "auth"
                                }
                            ]
                        }
                    ]
                }
            }
        ]
    }
]

Свойства объекта преобразования

Недвижимость Type Обязательный Описание
name string Yes Уникальное имя для этого преобразования. На которые ссылается dataSources[].transform и dataFlows[].transform.
headerProcessor object Yes Обработчик заголовков, устанавливающий начальную схему. Должен быть первым элементом. См. раздел "Процессоры заголовков".
processors массив нет Упорядоченная последовательность процессоров преобразования, примененная после заголовка. См. раздел "Типы процессоров".

Объект Обработчика

Каждый процессор — это декларативный стандартный блок, описывающий определенную операцию преобразования данных.

{
    "processor": "{family}.{Name}",
    "configuration": { }
}
Недвижимость Type Обязательный Описание
processor string Yes Имя процессора в формате {family}.{Name}. Зависящий от регистра. Например: filter.Basic.
configuration object Yes Конфигурация, зависят от процессора. См. отдельные разделы процессора.

Типы процессоров

В следующей таблице показано, какие процессоры доступны на стороне клиента и на стороне приема.

  • Обработчики заголовков на стороне клиента используются для преобразований на стороне клиента, назначенных источникам данных. Они не требуют настройки, так как схема входящих данных известна.
  • Обработчики заголовков на стороне приема используются для преобразования на стороне приема, назначенных потокам данных.
Имя процессора Семья Client-side Прием на стороне
header.Syslog Header Yes нет
header.WindowsEvents Header Yes нет
header.WindowsPerformanceCounters Header Yes нет
header.LinuxPerformanceCounters Header Yes нет
header.TextLog Header Yes нет
header.IISLog Header Yes нет
header.WindowsFirewallLog Header Yes нет
header.StandardStream Header нет Yes
header.CustomStream Header нет Yes
filter.Basic Фильтр Yes Yes
map.Rename Map Yes Yes
map.Drop Map Yes Yes
parse.JsonPath Parse Yes Yes
parse.XmlPath Parse Yes Yes
parse.CEFAttribute Parse Yes Yes
aggregate.Basic Aggregate Yes Yes
enrich.DNSLookup Обогатить Yes Yes
transform.KQL Transform нет Yes

Процессоры заголовков

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

Заголовка. Syslog

Заголовок на стороне клиента для источников данных системного журнала.

Схема вывода:
Column Type
TimeGenerated datetime
Помещение string
Номер серьезности int
ВремяСобытия datetime
IP-адрес хоста string
Message string
ProcessId string
Severity string
Host string
Ident string
Timestamp datetime

Заголовка. WindowsEvents

Заголовок на стороне клиента для источников данных журнала событий Windows.

Схема вывода:
Column Type
TimeGenerated datetime
ВремяСоздания datetime
Идентификатор издателя string
Имя издателя string
Канал string
LoggingComputer string
EventNumber int
Категория события int
Уровень события string
UserName string
RawXml string
EventDescription string
RenderingInfo string
EventRecordId int

Заголовка. WindowsPerformanceCounters

Заголовок на стороне клиента для источников данных счетчика производительности Windows.

Схема вывода:
Column Type
TimeGenerated datetime
CounterName string
CounterValue real
SampleRate int
Счетчик string
Instance string

Заголовка. LinuxPerformanceCounters

Заголовок на стороне клиента для источников данных счетчика производительности Linux.

Схема вывода:
Column Type
TimeGenerated datetime
Timestamp datetime
CounterName string
Имя объекта string
InstanceName string
Ценность int
Host string

Заголовка. TextLog

Заголовок на стороне клиента для пользовательских файлов текстового журнала.

Схема вывода:
Column Type
TimeGenerated datetime
FilePath string
Исходные данные string
Компьютер string

Заголовка. IISLog

Заголовок на стороне клиента для источников данных журнала IIS.

Схема вывода:
Column Type
TimeGenerated datetime
s_sitename string
s_computername string
s_ip string
cs_method string
cs_uri_stem string
cs_uri_query string
s_port int
cs_username string
c_ip string
cs_version string
cs_User_Agent_ string
cs_Cookie_ string
cs_Referer_ string
cs_host string
sc_status int
sc_substatus int
sc_win32_status int
sc_bytes int
cs_bytes int
time_taken int

Заголовка. WindowsFirewallLog

Заголовок на стороне клиента для источников данных журнала брандмауэра Windows.

Схема вывода:
Column Type
TimeGenerated datetime
date string
Время string
action string
protocol string
src_ip string
dst_ip string
src_port string
dst_port string
size string
tcpflags string
tcpsyn string
tcpack string
tcpwin string
Тип ICMP string
icmpcode string
info string
path string
pid string

Заголовка. StandardStream

Используется, если входные данные являются стандартным потоком, например Microsoft-Syslog или Microsoft-Event.

{
    "processor": "header.StandardStream",
    "configuration": {
        "streamId": "Microsoft-Syslog"
    }
}
Недвижимость Type Обязательный Описание
streamId string Yes Идентификатор стандартного потока, например Microsoft-Syslog.

Схема вывода: аналогичная стандартной схеме таблицы Log Analytics. См. справочник по таблицам Log Analytics схемы по типу ресурса.

Заголовка. CustomStream

Используется, когда входные данные — это пользовательский поток, определенный в streamDeclarations.

{
    "processor": "header.CustomStream",
    "configuration": {
        "streamId": "Custom-MyStream"
    }
}
Недвижимость Type Обязательный Описание
streamId string Yes Идентификатор пользовательского потока. Должен соответствовать потоку, определенному в streamDeclarations.

После процессоров заголовков

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

Фильтр. Основные

Удаляет все записи на основе оценки условия. Условия структурированы как группы OR и группы AND.

{
    "processor": "filter.Basic",
    "configuration": {
        "any": [
            {
                "all": [
                    {
                        "columnName": "Facility",
                        "operator": "==",
                        "value": "auth"
                    }
                ]
            }
        ]
    }
}
Недвижимость Type Обязательный Описание
any массив групп AND Yes Группа ИЛИ верхнего уровня. Запись сохраняется, если любая группа AND имеет значение true.

Каждая группа AND имеет all свойство, содержащее массив объектов условий:

Недвижимость Type Обязательный Описание
columnName string Yes Столбец для вычисления.
operator string Yes Оператор сравнения. Строка: ==, , contains!=!contains. Числовой: ==, !=, >, <>=, <=.
value строка, число или логическое значение Yes Значение ссылки для сравнения с.

Схема вывода: то же, что и входные данные. Записи удаляются, а не столбцы.

Карта. Переименовать

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

{
    "processor": "map.Rename",
    "configuration": {
        "all": [
            {
                "columnName": "OldName",
                "nameAs": "NewName",
                "typeAs": "string"
            }
        ]
    }
}
Недвижимость Type Обязательный Описание
columnName string Yes Существующий столбец для переименования или типа.
nameAs string нет Новое имя столбца. Если опущено, столбец сохраняет свое имя.
typeAs string нет Целевой тип: string, , realintlong, bool, datetime. Если приведение завершается ошибкой, null возвращается.

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

Карта. Падение

Удаляет один или несколько столбцов из данных.

{
    "processor": "map.Drop",
    "configuration": {
        "columnNames": ["Column1", "Column2"]
    }
}
Недвижимость Type Обязательный Описание
columnNames массив строк Yes Столбцы для удаления.

Схема вывода: то же, что и входные данные, за исключением удаленных столбцов.

Анализа. JsonPath

Анализирует строку в формате JSON в столбце и извлекает указанные ключи в новые столбцы.

{
    "processor": "parse.JsonPath",
    "configuration": {
        "columnName": "EventData",
        "all": [
            {
                "path": "$.user.name",
                "nameAs": "UserName",
                "typeAs": "string"
            }
        ]
    }
}
Недвижимость Type Обязательный Описание
columnName string Yes Столбец, содержащий строку JSON.
all массив объектов извлечения Yes Ключи для извлечения.

Свойства объекта извлечения:

Недвижимость Type Обязательный Описание
path string Yes Путь JSON к ключу, например $.key или $.nested.key.
nameAs string Yes Новое имя выходного столбца.
typeAs string нет Тип целевого объекта. Если приведение завершается ошибкой, null возвращается.

Схема вывода: то же, что и входные данные, а также новые столбцы для каждого извлеченного ключа.

Анализа. XmlPath

Анализирует xml-форматированную строку в столбце и извлекает указанные элементы в новые столбцы.

{
    "processor": "parse.XmlPath",
    "configuration": {
        "columnName": "RawXml",
        "all": [
            {
                "path": "/Event/System/EventID",
                "nameAs": "EventID",
                "typeAs": "int"
            }
        ]
    }
}

Свойства конфигурации совпадают parse.JsonPath, за исключением path синтаксиса XPath (например, /Event/System/EventID или /Event/EventData/Data[@Name='SubjectUserName']).

Схема вывода: то же, что и входные данные, а также новые столбцы для каждого извлеченного элемента.

Замечание

Допустимый синтаксис XPath регулируется библиотекой синтаксического анализа на каждом этапе. Расширенные выражения XPath могут поддерживаться только в определенных расположениях выполнения.

Анализа. CEFAttribute

Анализирует данные CEF (общий формат событий) в столбце и извлекает указанные поля в новые столбцы.

{
    "processor": "parse.CEFAttribute",
    "configuration": {
        "columnName": "Message",
        "all": [
            {
                "path": "deviceAction",
                "nameAs": "Action",
                "typeAs": "string"
            }
        ]
    }
}

Свойства конфигурации соответствуют parse.JsonPath, за исключением path указания имени ключа CEF.

Схема вывода: то же, что и входные данные, а также новые столбцы для каждого извлеченного поля.

Агрегат. Основные

Суммирует записи с помощью операторов агрегирования с измерениями группировки.

{
    "processor": "aggregate.Basic",
    "configuration": {
        "batchingSettings": {
            "timeWindow": "5m",
            "maxBatchRows": 1000
        },
        "aggregates": [
            {
                "columnName": "CounterValue",
                "operator": "avg",
                "nameAs": "AvgValue"
            },
            {
                "operator": "count",
                "nameAs": "RecordCount"
            }
        ],
        "dimensionColumns": ["Host", "CounterName"]
    }
}
Недвижимость Type Обязательный Описание
batchingSettings.timeWindow string Yes Интервал времени для каждого пакета агрегирования, например 5m или 1h.
batchingSettings.maxBatchRows int Yes Максимальное количество строк в пакете агрегирования.
aggregates массив Yes Определения агрегирования.
dimensionColumns массив строк Yes Столбцы для группировки по. Поддерживается только string тип.

Свойства статистической записи:

Недвижимость Type Обязательный Описание
columnName string нет Столбец для статистической обработки. Не требуется для count оператора.
operator string Yes Функция агрегирования: sum, avg, min, max. count
nameAs string Yes Имя выходного столбца для агрегированного значения.

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

Обогатить. DNSLookup

Ищет IP-адрес в столбце и добавляет столбец DNS-имени.

{
    "processor": "enrich.DNSLookup",
    "configuration": {
        "columnName": "IPAddress",
        "nameAs": "DNSName"
    }
}
Недвижимость Type Обязательный Описание
columnName string Yes Столбец, содержащий IP-адрес для поиска.
nameAs string Yes Новое имя выходного столбца для разрешенного DNS-имени.

Схема вывода: то же, что и входные данные, а также новый столбец для разрешенного DNS-имени. Разрешение DNS — это лучшие усилия. Если поиск завершается ошибкой, выходной столбец содержит null.

Преобразования. KQL

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

{
    "processor": "transform.KQL",
    "configuration": {
        "expression": "source | where SeverityNumber >= 4 | extend EnrichedMsg = strcat(Host, ': ', Message)"
    }
}
Недвижимость Type Обязательный Описание
expression string Yes Строка запроса KQL, примененная к входным данным.

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