Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Преобразования в Azure Monitor фильтруют или изменяют входящие данные перед их отправкой в рабочую область Log Analytics. Преобразования выполняются после того, как источник данных доставляет данные и перед его отправкой в место назначения. Они определены в правиле сбора данных (DCR).
Стандартные преобразования используют инструкцию Kusto Query Language (KQL), применяемую по отдельности к каждой записи в входящих данных. Преобразования с несколькими этапами расширяют эту модель с помощью конвейера декларативных процессоров, где запрос KQL является одним из многих доступных типов процессоров в цепочке преобразований.
На следующей схеме показан процесс преобразования для входящих данных и показан пример запроса, который может использоваться. В этом примере собираются только те записи, в столбце message которых содержится слово error.
Поддерживаемые таблицы
Следующие таблицы в рабочей области Log Analytics поддерживают преобразования.
- Любая таблица Azure из числа перечисленных в таблицах, поддерживающих преобразования в журналах Azure Monitor. Справочник по данным Azure Monitor также включает, поддерживает ли таблица преобразования и перечисляет другие атрибуты для каждой таблицы.
- Любая пользовательская таблица, созданная для агента Azure Monitor.
- Настраиваемые таблицы с Auxiliary plan.
Создайте преобразование
Некоторые сценарии сбора данных поддерживают добавление преобразования через портал Azure, но для большинства сценариев требуется создать новый DCR с помощью определения JSON или добавить преобразование в существующий DCR. См. статью "Создание преобразования в Azure Monitor" для различных вариантов и рекомендаций и примеров преобразований в Azure Monitor для примеров запросов преобразования распространенных сценариев.
Многоэтапные преобразования (предварительная версия)
Это важно
В настоящее время многоэтапные преобразования находятся в общедоступной предварительной версии. Ознакомьтесь с Дополнительными условиями использования для предварительных версий Microsoft Azure, чтобы узнать юридические условия, применимые к функциям Azure, которые находятся в статусе бета, предварительного просмотра или иначе еще не выпущены в общий доступ.
Стандартные преобразования применяют один запрос KQL к входящим данным во время приема. Преобразования с несколькими этапами расширяют эту модель, позволяя определить конвейер обработки, состоящий из нескольких упорядоченных этапов обработки, применяемых как потоки данных через систему.
При многоэтапных преобразованиях DCR определяет конвейер обработки данных, а не один шаг преобразования. Данные проходят через следующие этапы:
- Сбор данных. агент Azure Monitor (AMA) собирает данные из ресурса на основе параметров источника данных в DCR.
- Обработка на стороне клиента. Преобразования выполняются локально на агенте до отправки данных по сети. Преобразование применяется к данным в необработанной форме, которая может отличаться от стандартного представления таблицы.
- Обработка при приеме данных. После того как данные поступают в Azure Monitor, при приеме к ним применяются преобразования, прежде чем данные записываются в целевую таблицу в Log Analytics. Это преобразование применяется после того, как данные были полностью приведены к схеме и обогащены.
- Доставка данных. Обработанные журналы доставляются в конечное место назначения.
Processors
Преобразования в многоэтапных DCR определяются с помощью обработчиков — небольших декларативных компонентов, каждый из которых выполняет конкретный тип операции. Процессоры имеют следующие характеристики:
- Компонуемая. В одном преобразовании можно объединить несколько процессоров.
- Заказано. Процессоры выполняются последовательно в порядке, заданном в преобразовании.
- Независимо от этапа. Один и тот же тип процессора можно использовать в разных источниках данных, этапах или сценариях с некоторыми ограничениями во время предварительной версии.
Каждое преобразование начинается с обработчика заголовков , который преобразует необработанные данные в известный табличный формат схемы. После заголовка можно привязать дополнительные процессоры для фильтрации, сопоставления, анализа, агрегирования, обогащения или применения выражений KQL к данным.
Доступны следующие семейства процессоров:
| Семья | Processors | Description |
|---|---|---|
| Заголовка |
header.Syslog, , header.WindowsEventsheader.TextLog, header.StandardStreamheader.CustomStream, и другие |
Схематизируйте необработанные данные в табличном формате. Должен быть первым процессором. |
| Фильтр | filter.Basic |
Удалить записи по результатам проверки условия. |
| Map |
map.Rename, map.Drop |
Переименуйте, измените тип или удалите столбцы. |
| Parse |
parse.JsonPath, parse.XmlPath, parse.CEFAttribute |
Извлеките поля из строк в формате JSON, XML или CEF. |
| Aggregation | aggregate.Basic |
Суммирование записей с помощью операторов агрегирования с измерениями группировки. |
| Обогащение | enrich.DNSLookup |
Найдите IP-адрес и добавьте столбец DNS-имени. |
| Пользовательское преобразование | transform.KQL |
Применить произвольное выражение KQL. Только на стороне приема данных. |
Полный справочник по процессору, включая схемы конфигурации и выходные схемы, см. в разделе "Структура DCR — преобразования".
Преобразования на стороне клиента и на стороне приема данных
Каждое преобразование назначается определенной стадии обработки. Это различие определяет, где происходит вычисление, какие данные отправляются по сети, а также какие затраты можно оптимизировать раньше.
| Аспект | Client-side | Время приема данных |
|---|---|---|
| Назначение | Источник данных (dataSources) |
Поток данных (dataFlows) |
| Выполняется в | Агент Azure Monitor для виртуальных машин | служба Azure Monitor |
| Обработчик заголовков | Специфичный для источника данных (например, header.Syslog) |
header.StandardStream или header.CustomStream |
| Соотношение затрат и выгод | Снижает сетевые затраты и затраты на прием данных за счет фильтрации и агрегирования до того, как данные покинут ресурс | Применяется после приведения данных к схеме и обогащения дополнительными столбцами таблицы |
Один DCR может включать как преобразования на стороне клиента, так и преобразования на этапе приема данных. Выходные данные клиентской стадии становятся входными данными на этапе приема автоматически.
Аспекты многоэтапной DCR
- Для многоэтапных преобразований требуется версия
2025-05-11API или более поздняя. Разделtransformationsи свойствоtransformв источниках данных и потоках данных не распознаются в более ранних версиях API. - Свойство
transformявляется взаимоисключающим дляtransformKqlкаждого потока данных. DCR может смешивать старые и новые потоки данных между разными стримами. - В режиме предварительного просмотра необходимо вручную согласовывать заголовок последующего преобразования с результатом предыдущего преобразования. Например, если применить агрегирование к необработанному потоку событий Windows, результат может быть несовместим с соответствующей таблицей событий, а преобразование времени приема должно начинаться с пользовательского заголовка потока.
Подход к проектированию для многоэтапной обработки
Выполните следующие действия при проектировании многоэтапного DCR:
- Оцените источники и назначения данных. Определите типы источников данных и решите, в какую таблицу попадает каждый тип: в стандартную таблицу по умолчанию или в пользовательскую таблицу.
- Определение потребностей агрегирования. Агрегированные журналы должны перейти в отдельную таблицу, так как их форма отличается от необработанной формы.
- Планирование разностной обработки. Если необходимо обрабатывать части одного и того же журнала по-разному, создайте несколько источников данных одного типа с разными параметрами коллекции и примените к каждому из них различные преобразования на стороне клиента.
- Создавайте преобразования на стороне клиента. Используйте стандартные потоки (
Microsoft-*), если выходные данные сохраняют схему заголовка или пользовательские потоки (Custom-*) в противном случае. Определите пользовательские потоки вstreamDeclarations. - Определение потоков данных. Для каждого потока создайте поток данных. Используйте потоки данных во время приема, чтобы разделить один поток между несколькими целевыми таблицами, применяя разные критерии фильтрации для каждого потока данных.
DCR трансформация рабочей области
Преобразования определяются в правиле сбора данных (DCR), но в Azure Monitor по-прежнему существуют коллекции данных, которые еще не используют DCR. Примеры включают журналы ресурсов, собранные с помощью параметров диагностики, и данные приложения, собранные с помощью Application Insights.
Правило сбора данных преобразования рабочей области (DCR) — это специальный DCR, который применяется непосредственно к рабочей области Log Analytics. Цель этого DCR заключается в том, чтобы выполнять преобразования данных, которые еще не используют DCR для сбора данных, и поэтому не имеет средств для определения преобразования.
Для каждой рабочей области может быть только один DCR этой рабочей области, но он может включать преобразования для любого количества поддерживаемых таблиц. Эти преобразования применяются ко всем данным, отправляемым в эти таблицы, если данные не пришли из другого DCR.
Например, таблица событий используется для хранения событий из виртуальных машин Windows. Если вы создаете преобразование рабочей области в DCR для таблицы событий, оно будет применено к событиям, собранным виртуальными машинами, использующими агент Log Analytics1, поскольку агент не использует DCR. Преобразование будет игнорироваться, хотя любые данные, отправляемые агентом Azure Monitor (AMA), так как он использует DCR для определения сбора данных. Вы по-прежнему можете использовать преобразование с агентом Azure Monitor, но вы бы включили это преобразование в DCR, связанный с агентом, а не в DCR преобразования рабочей области.
1 Агент Log Analytics устарел, но некоторые среды по-прежнему могут использовать его. Это только один пример источника данных, который не использует DCR.
Преобразования конвейера Azure Monitor
Преобразования данных в конвейере Azure Monitor обеспечивают функциональность, аналогичную преобразованиям на стороне клиента в Azure Monitor. Оба позволяют применить запрос KQL к входящим данным для фильтрации или изменения этих данных перед отправкой на следующий шаг потока данных.
Преобразования Azure Monitor во время приема данных выполняются после того, как Azure Monitor получает данные, но до их приема в рабочую область Log Analytics. Преобразования конвейера Azure Monitor применяются ранее в потоке данных, что позволяет создавать и фильтровать данные перед отправкой данных в Azure Monitor. Это делает преобразования конвейера полезными для уменьшения объема данных и пропускной способности сети при отправке данных из пограничных или многооблачных сред.
В следующей таблице приведены основные различия между преобразованиями конвейера Azure Monitor и преобразованиями Azure Monitor во время приема данных:
| Функция | Преобразования в конвейере Azure Monitor | Преобразования при приёме данных в Azure Monitor |
|---|---|---|
| При применении | Перед отправкой данных в Azure Monitor | После того, как данные получены службой Azure Monitor. Прежде чем храниться в рабочей области Log Analytics |
| Definition | Определяется в потоках данных в конвейере Azure Monitor | Определяется в правилах сбора данных (DCR) в Azure Monitor |
| Language | Язык запросов Kusto (KQL) | Язык запросов Kusto (KQL) |
| Поддерживаются ли агрегации? | Да | нет |
| Поддерживается шаблон? | Да | нет |
Данные, поступающие в Azure Monitor, представляют собой сочетание преобразования в конвейере и последующих преобразований во время приема данных в Azure Monitor. Единственное требование состоит в том, что выходная схема преобразования в конвейере должна соответствовать входной схеме, ожидаемой преобразованием Azure Monitor, выполняемым при приеме данных. Хотя данные можно фильтровать в любом преобразовании, как правило, эффективнее фильтровать данные в преобразованиях конвейера, так как это уменьшает объем данных, отправляемых по сети. Схема данных, выводимых преобразованием Azure Monitor во время приема, должна соответствовать схеме целевой таблицы в рабочей области Log Analytics.
Затраты на преобразования
Обработка журналов (преобразование и фильтрация) в облачном конвейере Azure Monitor имеет различные последствия выставления счетов в зависимости от типа таблицы, в которую принимаются данные в рабочей области Log Analytics.
Вспомогательные журналы
Для вспомогательных журналов предусмотрена оплата за обработку данных и приём данных в рабочую область Log Analytics. Плата за обработку данных взимается за все входящие данные, которые получает Azure Monitor, если местом назначения в рабочей области Log Analytics является таблица Auxiliary Logs. Это включает объем данных, обработанных преобразованиями Azure Monitor во время приема данных. Плата за приём данных применяется только к данным после преобразования во время приёма, доставляемым в таблицу Auxiliary Logs. Преобразования могут увеличивать или уменьшать размер данных.
В следующей таблице приведены некоторые примеры.
| Размер входящих данных | Данные удалены или добавлены путем преобразования | Данные, поступающие в рабочую область Log Analytics, как таблица вспомогательных журналов | Оплачиваемые гигабайты обработки данных | Оплачиваемые ГБ для поглощения данных |
|---|---|---|---|---|
| 20 ГБ | 12 ГБ потеряно | 8 ГБ | 20 ГБ | 8 ГБ |
| 20 ГБ | Удалено 8 ГБ | 12 ГБ | 20 ГБ | 12 ГБ |
| 20 ГБ | Добавлено 4 ГБ | 24 ГБ | 20 ГБ | 24 ГБ |
См. цены на Azure Monitor для обработки журналов и приема данных журнала.
Аналитика или базовые журналы
Для аналитики или базовых журналов преобразования обычно не несут никаких затрат, но следующие сценарии могут привести к дополнительным затратам:
- Если преобразование увеличивает размер входящих данных, например путем добавления вычисляемого столбца, взимается стандартная скорость приема для дополнительных данных.
- Если преобразование уменьшает объем полученных данных более чем на 50%, плата взимается за объем данных, отфильтрованных выше 50%.
Чтобы вычислить плату за обработку данных, полученную из преобразований, используйте следующую формулу:
[ДАННЫЕ ГБ, удаленные преобразованием] — ([размер входящих данных в ГБ] / 2).
В следующей таблице показаны примеры.
| Размер входящих данных | Данные удалены или добавлены путем преобразования | Прием данных в рабочую область Log Analytics в виде таблицы "Аналитика" или "Базовые журналы" | Оплачиваемые гигабайты обработки данных | Оплачиваемые ГБ для поглощения данных |
|---|---|---|---|---|
| 20 ГБ | 12 ГБ потеряно | 8 ГБ | 2 ГБ | 8 ГБ |
| 20 ГБ | Удалено 8 ГБ | 12 ГБ | 0 ГБ | 12 ГБ |
| 20 ГБ | Добавлено 4 ГБ | 24 ГБ | 0 ГБ | 24 ГБ |
Чтобы избежать этого расхода, следует фильтровать загружаемые данные альтернативными методами перед применением преобразований. Таким образом, можно уменьшить объем данных, обработанных преобразованиями, и, следовательно, свести к минимуму дополнительные затраты.
См. Цены на Azure Monitor для получения информации о ценах на обработку журналов и загрузку данных журнала.
Это важно
Если Microsoft Sentinel включена для рабочей области Log Analytics, преобразование в таблицы Аналитики бесплатно, независимо от объема данных, который фильтруется при преобразовании.
Связанный контент
- Дополнительные сведения о правилах сбора данных (DCR).
- Создайте преобразование в Azure Monitor, включая многоэтапные преобразования.
-
Структура правила сбора данных (DCR) для полной схемы JSON, включая многоэтапный
transformationsраздел. - Создайте преобразование рабочей области DCR для данных, не собранных с помощью DCR.
- Анонс многоэтапных преобразований в блоге Azure Observability, чтобы узнать подробности об общедоступной предварительной версии.