Compartilhar via


Coletar logs em alta escala no Container Insights (versão prévia)

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

Observação

Esse recurso está atualmente em visualização pública. Para obter informações adicionais, leia os Termos de Uso Complementares para Visualizações do Microsoft Azure.

Visã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 o pipeline de dados do Azure Monitor com melhorias de escala. Todas essas alterações são 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 do Contêiner Insights permanece o mesmo, com os logs sendo ingeridos na mesma tabela ContainerLogV2. As consultas e alertas existentes continuam funcionando, pois os mesmos dados estão sendo coletados.

Para alcançar a maior taxa de transferência de logs suportada, você deve usar SKUs de VM de alto desempenho com 16 núcleos de CPU ou mais para os nós do seu cluster do AKS. O uso de SKUs de VM de baixo desempenho afetará a taxa de transferência dos seus logs.

Meu cluster se qualifica?

A coleta de logs em alta escala é adequada para ambientes que enviam mais de 2.000 logs/seg (ou 2 MB/seg) por nó em seus clusters Kubernetes e foi projetada e testada para enviar até 50.000 logs/seg por nó. Use as consultas de log a seguir para determinar se seu cluster é adequado para coletar logs em 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

  • Versão 2.63.0 ou posterior da CLI do Azure.
  • A versão da extensão da CLI do AKS-preview deve ser 7.0.0b4 ou superior se uma extensão da CLI do 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 logs, entre em contato com o canal de suporte da Microsoft para aumentar os limites de recursos do seu contêiner ama-logs.

Requisitos de firewall de rede

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

Nuvem Ponto de extremidade Porta
Nuvem Pública do Azure <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.com 443
Microsoft Azure operado pela nuvem da 21Vianet <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.cn 443
Nuvem do Azure Governamental <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.us 443

O ponto de extremidade é o 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ça com o prefixo MSCI-ingest.

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

Limitações

Não há suporte para os cenários a seguir durante a versão prévia. Elas serão abordadas quando o recurso entrar em disponibilidade geral.

  • Clusters do AKS com nós Arm64
  • Kubernetes habilitado para Azure Arc
  • Proxy HTTP com certificado confiável
  • Integração por meio do portal do Azure, Azure Policy, Terraform e Bicep
  • Configurar por meio das Configurações do Monitor na experiência do portal do 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 o cluster.

Observação

O modo de alta escala do log requer um DCE (ponto de extremidade de coleta de dados) 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, haverá também a configuração de DCE criada com o prefixo MSCI-config.

Atualizar o configmap

A primeira etapa é atualizar o configmap do cluster para instruir os pods do daemonset ama-logs do Container Insights a executar no modo de alta escala.

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

[agent_settings.high_log_scale] 
  enabled = true 

Após aplicar este configmap, os pods ama-logs-* serão reiniciados automaticamente e os pods do daemonset ama-logs serão configurados para executar no modo de alta escala.

Habilitar o modo de alta escala para o complemento de monitoramento

Habilite o complemento de monitoramento com o modo de alta escala usando os seguintes comandos da CLI do Azure para ativar o modo de alta escala para o complemento de Monitoramento, dependendo da configuração do seu AKS.

Observação

Em vez da CLI, você pode usar um modelo do ARM para habilitar o modo de alta escala para o complemento de monitoramento. Consulte Habilitar o Contêiner Insights para obter diretrizes sobre como habilitar o Container Insights usando um modelo do ARM. Para habilitar o modo de alta escala, use Microsoft-ContainerLogV2-HighScale em vez de Microsoft-ContainerLogV2 no parâmetro streams, conforme descrito em Configurar a DCR com modelos do ARM.

Cluster do AKS existente

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

Cluster privado do 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 do 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 AKS (Serviço de Kubernetes do Azure) para obter detalhes sobre como criar um cluster privado do AKS. Use os parâmetros adicionais --enable-high-scale-mode e --ampls-resource-id para configurar o modo de alta escala de logs com a ID do recurso de escopo de link privado do Azure Monitor.

Migração

Se o Container Insights já estiver habilitado para o seu cluster, você precisará desabilitá-lo e, em seguida, reabilitá-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 de 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 da DCR padrão para coleta de dados. Se você criou as DCRs que usam Microsoft.ContainerLogV2, você deve substituir por Microsoft.ContainerLogV2-HighScale ou os dados serão duplicados. Você também deve criar um DCE para ingestão e vinculá-lo à DCR se a 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óximas etapas