Esquema de log de insights de contêiner

Os insights de contêiner armazenam os dados de log coletados em uma tabela chamada ContainerLogV2. Este artigo descreve o esquema desta tabela e sua comparação e migração da tabela ContainerLog herdada.

Importante

ContainerLogV2 será o esquema padrão por meio do ConfigMap para a CLI versão 2.54.0 e superior. ContainerLogV2 será o formato de ingestão padrão para clientes que integrarão insights de contêiner com Autenticação de Identidade Gerenciada usando a integração do ARM, Bicep, Terraform, Policy e portal. O ContainerLogV2 pode ser habilitado explicitamente por meio da CLI versão 2.51.0 ou superior usando configurações de coleta de Dados.

O suporte para a tabela ContainerLog será desativado em 30 de setembro de 2026.

Comparação de tabelas

A tabela a seguir realça as principais diferenças entre o uso do esquema ContainerLogV2 e ContainerLog.

Diferenças de recursos ContainerLog ContainerLogV2
Esquema Detalhes em ContainerLog. Detalhes em ContainerLogV2.
Colunas adicionais são:
- ContainerName
- PodName
- PodNamespace.
Integração Configurável apenas por meio de ConfigMap. Configurável por meio de ConfigMap e DCR. 1
Preços Compatível apenas com logs de análise com preços completos. Dá suporte à camada de logs básicos de baixo custo, além dos logs de análise.
Consultas Requer várias operações de junção com tabelas de inventário para consultas padrão. Inclui metadados adicionais de pod e contêiner para reduzir a complexidade da consulta e as operações de junção.
Várias linhas Sem suporte, as entradas de várias linhas são divididas em várias linhas. Suporte para registro em log de várias linhas para permitir entradas individuais consolidadas para saída de várias linhas.

1A configuração de DCR não tem suporte para clusters usando clusters baseados em autenticação de entidade de serviço. Migre seus clusters com a entidade de serviço para a identidade gerenciada para usar essa experiência.

Observação

Não há suporte para exportação para o Hub de Eventos e a Conta de Armazenamento se o LogMessage não for um JSON válido. Para obter o melhor desempenho, recomendamos emitir logs de contêiner no formato JSON.

Avaliar o impacto dos alertas existentes

Antes de habilitar o esquema ContainerLogsV2, você deve avaliar se você tem alguma regra de alerta que dependa da tabela ContainerLog. Esses alertas precisarão ser atualizados para usar a nova tabela.

Para verificar os alertas que fazem referência à tabela ContainerLog, execute a seguinte consulta do 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

Habilitar o esquema ContainerLogV2

Você pode habilitar o esquema ContainerLogV2 para um cluster usando a REGRA de Coleta de Dados (DCR) ou o ConfigMap do cluster. Se ambas as configurações estiverem habilitadas, o ConfigMap terá precedência. Os logs stdout e stderr só serão ingeridos na tabela ContainerLog quando o DCR e o ConfigMap forem explicitamente definidos como desativados.

Registros em log de várias linhas nos Insights de Contêiner

Com o log multilinha habilitado, os logs de contêiner divididos anteriormente são emendados e enviados como entradas simples para a tabela ContainerLogV2. Se a linha de logs emendados for maior que 64 KB, ela será truncada devido aos limites do espaço de trabalho do Log Analytics. Esse recurso também tem suporte para rastreamentos de pilha do .NET, Go, Python e Java, que aparecem como entradas simples na tabela ContainerLogV2. Habilite o registro em log de várias linhas com o ConfigMap, conforme descrito em Configurar coleta de dados em insights de contêiner usando ConfigMap.

Observação

O configmap já apresenta uma opção de especificação de idioma, na qual os clientes podem selecionar apenas os idiomas nos quais estão interessados. Esse recurso pode ser habilitado editando os idiomas na opção stacktrace_languages no configmap.

As capturas de tela a seguir mostram o registro em log de várias linhas para o rastreamento de pilha de exceções Go:

Log de várias linhas desabilitado

Screenshot that shows Multi-line logging disabled.

Log de várias linhas habilitado

Screenshot that shows Multi-line enabled.

Rastreamento de pilha do Java

Screenshot that shows Multi-line enabled for Java.

Rastreamento de pilha do Python

Screenshot that shows Multi-line enabled for Python.

Próximas etapas