Схема журнала аналитики контейнеров
Аналитика контейнеров хранит данные журнала, собираемые в таблице с именем 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:
Отключено многострочный журнал
Ведение журнала с несколькими строками
Трассировка стека Java
Трассировка стека Python
Следующие шаги
- Настройте базовые журналы для ContainerLogv2.
- Узнайте, как запрашивать данные из ContainerLogV2