Compartilhar via


Coleta de logs de alta escala no Container Insights (Visualização)

O modo de alta escala é um recurso do Container Insights que permite coletar logs do console de contêiner (stdout & stderr) com alta taxa de transferência dos nós de cluster do Serviço Kubernetes do Azure (AKS). Esse recurso permite coletar até 50.000 logs/s por nó.

Nota

Esta funcionalidade está atualmente em pré-visualização pública. Para obter informações adicionais, leia os Termos de Utilização Suplementares para Pré-visualizações do Microsoft Azure.

Descrição geral

Quando o modo de alta escala está habilitado, o Container Insights executa várias alterações de configuração, resultando em uma taxa de transferência geral mais alta. Isso inclui o uso de um agente atualizado e do pipeline de dados do Azure Monitor com melhorias de escala. Essas alterações são todas feitas em segundo plano pelo Azure Monitor e não exigem entrada ou configuração depois que o recurso é habilitado.

O modo de alta escala afeta apenas a camada de coleta de dados. O restante da experiência de insights do contêiner permanece o mesmo, com logs sendo ingeridos na mesma ContainerLogV2 tabela. As consultas e alertas existentes continuam a funcionar, uma vez que os mesmos dados estão a ser recolhidos.

Para atingir a taxa de transferência máxima de logs suportada, você deve usar SKUs de VM high-end com 16 núcleos de CPU ou mais para seus nós de cluster AKS. O uso de SKUs de VM low-end afetará a taxa de transferência de logs.

O meu cluster é elegível?

A coleta de logs de alta escala é adequada para ambientes que enviam mais de 2.000 logs/s (ou 2 MB/seg) por nó em seus clusters Kubernetes e foi projetada e testada para enviar até 50.000 logs/s por nó. Use as seguintes consultas de log para determinar se o cluster é adequado para a coleta de logs de alta escala.

Logs por segundo e por nó

ContainerLogV2 
| where _ResourceId = "<cluster-resource-id>" 
| summarize count() by bin(TimeGenerated, 1s), Computer 
| render timechart 

Tamanho do log (em MB) por segundo por nó

 ContainerLogV2 
| where _ResourceId = "<cluster-resource-id>"
| summarize BillableDataMB = sum(_BilledSize)/1024/1024 by bin(TimeGenerated, 1s), Computer 
| render timechart 

Pré-requisitos

  • Azure CLI versão 2.63.0 ou superior.
  • A versão da extensão da CLI AKS-preview deve ser 7.0.0b4 ou superior se uma extensão da CLI aks-preview estiver instalada.
  • O esquema de cluster deve ser configurado para ContainerLogV2.
  • Se os limites de recursos padrão (CPU e memória) no contêiner do conjunto de daemon ama-logs não atenderem aos seus requisitos de escala de log, entre em contato com o canal de suporte da Microsoft para aumentar os limites de recursos do contêiner ama-logs.

Requisitos de firewall de rede

Além dos requisitos de firewall de rede para monitorar um cluster Kubernetes, configurações adicionais na tabela a seguir são necessárias para habilitar o modo de alta escala, dependendo da sua nuvem.

Cloud Ponto final Porta
Azure Public Cloud <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.com 443
Microsoft Azure operado pela nuvem 21Vianet <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.cn 443
Azure Government cloud <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.us 443

O ponto de extremidade é o ponto de extremidade de ingestão de logs do ponto de extremidade de coleta de dados (DCE) para a regra de coleta de dados (DCR) usada pelo cluster. Esse DCE é criado quando você habilita o modo de alta escala para o cluster e começará com o prefixo MSCI-ingest.

Captura de tela do ponto de extremidade de ingestão de logs para DCE.

Limitações

Os cenários a seguir não são suportados durante a versão de visualização. Estes serão resolvidos quando a funcionalidade estiver disponível para o público em geral.

  • Clusters AKS com nós Arm64
  • Kubernetes habilitado para Azure Arc
  • Proxy HTTP com certificado confiável
  • Integração através do portal do Azure, Política do Azure, Terraform e Bicep
  • Configurando através das Configurações do Monitor na experiência do portal AKS Insights
  • Migração automática do Container Insights existente

Habilitar a coleta de logs em alta escala

Siga as duas etapas nas seções a seguir para habilitar o modo de alta escala para seu cluster.

Nota

O modo de alta escala de log requer um ponto de extremidade de coleta de dados (DCE) para ingestão. Um DCE de ingestão é criado com o prefixo MSCI-ingest para cada cluster quando você os integra. Se o escopo do link privado do Azure Monitor estiver configurado, também haverá configuração DCE criada com o prefixo MSCI-config.

Atualizar configmap

A primeira etapa é atualizar o configmap para o cluster para instruir os pods de deamonset ama-logs do contêiner a serem executados no modo de alta escala.

Siga as orientações em Configurar e implantar o ConfigMap para baixar e atualizar o ConfigMap para o cluster. A única alteração que você precisa fazer para logs de alta escala é habilitar agent_settings.high_log_scale em agent-settings como a seguir:

[agent_settings.high_log_scale] 
  enabled = true 

Depois de aplicar este configmap, ama-logs-* os pods serão reiniciados automaticamente e configurarão os pods daemonset ama-logs para serem executados no modo de alta escala.

Ativar o modo de alta escala para o complemento Monitoramento

Habilite o Complemento de Monitoramento com modo de alta escala usando os seguintes comandos da CLI do Azure para habilitar o modo de logs de alta escala para o complemento de Monitoramento, dependendo da sua configuração AKS.

Nota

Em vez de CLI, você pode usar um modelo ARM para habilitar o modo de alta escala para o complemento Monitoramento. Consulte Habilitar insights de contêiner para obter orientação sobre como habilitar o Container Insights usando um modelo ARM. Para habilitar o modo de alta escala, use Microsoft-ContainerLogV2-HighScale em vez de Microsoft-ContainerLogV2 no parâmetro conforme descrito em Configurar DCR com modelos ARM.streams

Cluster AKS existente

az aks enable-addons -a monitoring -g <resource-group-name> -n <cluster-name> --enable-high-log-scale-mode  

Cluster privado AKS existente

az aks enable-addons -a monitoring -g  <resource-group-name> -n <cluster-name> --enable-high-scale-mode --ampls-resource-id /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/privatelinkscopes/<resourceName> 

Novo cluster AKS

az aks create -g <cluster-name> -n <cluster-name> enable-addons -a monitoring --enable-high-log-scale-mode  

Novo cluster privado do AKS

Consulte Criar um cluster privado do Serviço Kubernetes do Azure (AKS) para obter detalhes sobre como criar um cluster privado do AKS. Use os parâmetros --enable-high-scale-mode adicionais e --ampls-resource-id configure o modo de alta escala de log com a ID do Recurso de Escopo de Link Privado do Azure Monitor.

Migração

Se o Container insights já estiver habilitado para seu cluster, será necessário desativá-lo e, em seguida, reativá-lo com o modo de alta escala.

  • Como o modo de alta escala usa um pipeline de dados diferente, você deve garantir que os pontos de extremidade do pipeline não sejam bloqueados por um firewall ou outras conexões de rede.
  • O modo de alta escala requer um ponto de extremidade de coleta de dados (DCE) para ingestão, além do DCR padrão para coleta de dados. Se você criou qualquer DCRs que usa Microsoft.ContainerLogV2, você deve substituí-lo por Microsoft.ContainerLogV2-HighScale ou os dados serão duplicados. Você também deve criar um DCE para ingestão e vinculá-lo ao DCR se o DCR ainda não estiver usando um. Consulte a integração do Container Insights por meio do Azure Resource Manager para obter referência para as dependências.

Próximos passos