Схема журнала аналитики контейнеров

Аналитика контейнеров хранит данные журнала, собираемые в таблице с именем ContainerLogV2. В этой статье описывается схема этой таблицы и ее сравнение и миграция из устаревшей таблицы ContainerLog .

Внимание

ContainerLogV2 будет схемой по умолчанию с помощью ConfigMap для CLI версии 2.54.0 и более поздней. ContainerLogV2 будет формат приема по умолчанию для клиентов, которые будут подключены к аналитике контейнеров с помощью проверки подлинности управляемого удостоверения с помощью ARM, Bicep, Terraform, политики и портала. КонтейнерLogV2 можно явно включить с помощью ИНТЕРФЕЙСА командной строки 2.51.0 или более поздней с помощью параметров сбора данных.

Поддержка таблицы ContainerLog будет прекращена 30 сентября 2026 г.

Сравнение таблиц

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

Отличия функций Журнал контейнера ContainerLogV2
Схема Сведения в ContainerLog. Сведения о ContainerLogV2.
Дополнительные столбцы:
- ContainerName
- PodName
- PodNamespace.
Переход Настраивается только с помощью ConfigMap. Настраиваемая с помощью ConfigMap и DCR. 1
Цены Совместим только с журналами аналитики с полной ценой. Поддерживает уровень базовых журналов с низкими затратами в дополнение к журналам аналитики.
Выполнение запроса Требуется несколько операций соединения с таблицами инвентаризации для стандартных запросов. Включает дополнительные метаданные pod и контейнера для уменьшения сложности запросов и операций соединения.
Многострочный Не поддерживается многострочное разделение записей на несколько строк. Поддержка многострочного ведения журнала, разрешая консолидированные однозаготовые записи для многострочных выходных данных.

1Конфигурация DCR не поддерживается для кластеров с использованием кластеров на основе проверки подлинности субъекта-службы. Перенесите кластеры с субъектом-службой в управляемое удостоверение , чтобы использовать этот интерфейс.

Примечание.

Экспорт в Концентратор событий и учетная запись служба хранилища не поддерживается, если входящий logMessage не является допустимым JSON. Для повышения производительности рекомендуется создавать журналы контейнеров в формате JSON.

Оценка влияния на существующие оповещения

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

Чтобы проверить наличие оповещений, ссылающихся на таблицу ContainerLog , выполните следующий запрос Azure Resource Graph:

resources
| where type in~ ('microsoft.insights/scheduledqueryrules') and ['kind'] !in~ ('LogToMetric')
| extend severity = strcat("Sev", properties["severity"])
| extend enabled = tobool(properties["enabled"])
| where enabled in~ ('true')
| where tolower(properties["targetResourceTypes"]) matches regex 'microsoft.operationalinsights/workspaces($|/.*)?' or tolower(properties["targetResourceType"]) matches regex 'microsoft.operationalinsights/workspaces($|/.*)?' or tolower(properties["scopes"]) matches regex 'providers/microsoft.operationalinsights/workspaces($|/.*)?'
| where properties contains "ContainerLog"
| project id,name,type,properties,enabled,severity,subscriptionId
| order by tolower(name) asc

Включение схемы ContainerLogV2

Схему ContainerLogV2 для кластера можно включить с помощью правила сбора данных кластера (DCR) или ConfigMap. Если оба параметра включены, ConfigMap будет иметь приоритет. Журналы Stdout и stderr будут приема только в таблицу ContainerLog, если DCR и ConfigMap явно настроены.

Многострочный журнал в контейнере Аналитика

При включении многострочного ведения журнала ранее разделенные журналы контейнеров объединяются и отправляются в виде отдельных записей в таблицу ContainerLogV2. Если сшитая строка журнала превышает 64 КБ, она будет усечена из-за ограничений рабочей области Log Analytics. Эта функция также поддерживает трассировки стека .NET, Go, Python и Java, которые отображаются в виде отдельных записей в таблице ContainerLogV2. Включение многострочного ведения журнала с помощью ConfigMap, как описано в разделе "Настройка сбора данных в аналитике контейнеров" с помощью ConfigMap.

Примечание.

Теперь в конфигурации есть параметр спецификации языка, в котором клиенты могут выбрать только интересующие их языки. Эту функцию можно включить, изменив языки в параметре stacktrace_languages в конфигурации.

На следующих снимках экрана показано многострочный журнал для трассировки стека исключений Go:

Отключено многострочный журнал

Screenshot that shows Multi-line logging disabled.

Ведение журнала с несколькими строками

Screenshot that shows Multi-line enabled.

Трассировка стека Java

Screenshot that shows Multi-line enabled for Java.

Трассировка стека Python

Screenshot that shows Multi-line enabled for Python.

Следующие шаги