Compartir vía


Recopilación de registros a gran escala en Container Insights (versión preliminar)

El modo de gran escala es una característica de Container Insights que le permite recopilar registros de la consola de contenedores (stdout y stderr) con un alto rendimiento de sus nodos de clúster de Azure Kubernetes Service (AKS). Esta característica le permite recopilar hasta 50 000 registros por nodo.

Nota:

Esta característica actualmente está en su versión preliminar pública. Para obtener más información, lea los Términos de uso complementarios para las versiones preliminares de Microsoft Azure.

Información general

Cuando se habilita el modo de gran escala, Container Insights realiza múltiples cambios de configuración que dan como resultado un mayor rendimiento global. Esto incluye el uso de un agente actualizado y una canalización de datos de Azure Monitor con mejoras de escala. Azure Monitor realiza todos estos cambios en segundo plano y no requieren entrada ni configuración después de habilitar la característica.

El modo de gran escala afecta solo a la capa de recopilación de datos. El resto de la experiencia de Container Insights sigue siendo la misma, con los registros siendo ingeridos en la misma tabla ContainerLogV2. Las consultas y alertas existentes siguen funcionando desde que se recopilan los mismos datos.

Para lograr el rendimiento máximo de registros admitidos, debe usar SKU de máquina virtual de gama alta con 16 núcleos de CPU o más para los nodos del clúster de AKS. El uso de SKU de máquinas virtuales de gama baja repercutirá en el rendimiento de sus registros.

¿Mi clúster cumple los requisitos?

La recopilación de registros a gran escala es adecuada para entornos que envían más de 2 000 registros/s (o 2 MB/s) por nodo en sus conjuntos de Kubernetes y ha sido diseñada y probada para enviar hasta 50 000 registros/s por nodo. Use las siguientes consultas sobre registros para determinar si su clúster es adecuado para la recopilación de registros a gran escala.

Registros por segundo y por nodo

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

Tamaño de registro (en MB) por segundo por nodo

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

Requisitos previos

  • CLI de Azure, versión 2.63.0 o superior.
  • La versión de la extensión de la CLI de AKS-preview debe ser 7.0.0b4 o superior si se instala una extensión de la CLI de aks-preview.
  • El esquema de clúster debe configurarse para ContainerLogV2.
  • Si los límites de recursos predeterminados (CPU y memoria) del contenedor del demonio de ama-logs no satisfacen sus requisitos de escalado de registros, póngase en contacto con el canal de soporte de Microsoft para aumentar los límites de recursos de su contenedor de ama-logs.

Requisitos de firewall de red

Además de los requisitos del firewall de red para la supervisión de un clúster de Kubernetes, se necesitan las configuraciones adicionales de la tabla siguiente para habilitar el modo de gran escala en función de su nube.

Nube Punto de conexión Port
Nube pública de Azure <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.com 443
Microsoft Azure operado por la nube 21Vianet <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.cn 443
Nube de Azure Government <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.us 443

El punto de conexión es el de Ingesta de registros del punto de conexión de recopilación de datos (DCE) para la regla de recopilación de datos (DCR) usada por el clúster. Este DCE se crea cuando se habilita el modo de gran escala para el clúster y comenzará con el prefijo MSCI-ingest.

Recorte de pantalla del punto de conexión de ingesta de registros para el DCE.

Limitaciones

Los siguientes escenarios no son compatibles durante la versión preliminar. Se abordarán cuando la característica esté disponible de forma general.

  • Clústeres de AKS con nodos de Arm64
  • Kubernetes habilitado para Azure Arc
  • Proxy HTTP con certificado de confianza
  • Incorporación a través de Azure Portal, Azure Policy, Terraform y Bicep
  • Configuración a través de la Configuración de supervisión en la experiencia del portal de AKS Insights
  • Migración automática desde instancia de Container Insights existente

Habilitación de la recopilación de registros a gran escala

Siga los dos pasos de las secciones siguientes para habilitar el modo de gran escala para su clúster.

Nota:

El modo de gran escala de registro requiere un punto de conexión de recopilación de datos (DCE) para ingerirlos. Se crea un DCE de ingesta con el prefijo MSCI-ingest para cada clúster cuando los incorpora. Si el ámbito del vínculo privado de Azure Monitor está configurado, también habrá una configuración de DCE creada con el prefijo MSCI-config.

Actualizar mapa de configuración

El primer paso consiste en actualizar el mapa de configuración del clúster para indicar a los pods de deamonset de ama-logs de Container Insights que se ejecuten en modo de gran escala.

Siga las instrucciones de Configuración e implementación de ConfigMap para descargar y actualizar ConfigMap para el clúster. El único cambio que tiene que hacer para los registros de gran escala es habilitar agent_settings.high_log_scale bajo agent-settings como se muestra a continuación:

[agent_settings.high_log_scale] 
  enabled = true 

Tras aplicar este mapa de configuración, los pods de ama-logs-* se reiniciarán automáticamente y configurarán los pods de daemonset de ama-logs para ejecutarse en modo de gran escala.

Habilitar el modo de gran escala para el complemento de Supervisión

Habilite el complemento de Supervisión con el modo de gran escala usando los siguientes comandos de la CLI de Azure para habilitar el modo de registros de gran escala para el complemento de Supervisión en función de su configuración de AKS.

Nota:

En lugar de la CLI, puede usar una plantilla de ARM para habilitar el modo de gran escala para el complemento de Supervisión. Consulte Habilitar Container Insights para obtener una guía sobre cómo habilitar Container Insights usando una plantilla de ARM. Para habilitar el modo de gran escala, use Microsoft-ContainerLogV2-HighScale en lugar de Microsoft-ContainerLogV2 en el parámetro streams como se describe en Configurar DCR con plantillas de ARM.

Clúster de AKS existente

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

Clúster privado de 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> 

Nuevo clúster de AKS

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

Nuevo clúster privado de AKS

Consulte Creación de un clúster privado de Azure Kubernetes Service (AKS) para más información sobre cómo crear un clúster privado de AKS. Use los parámetros adicionales --enable-high-scale-mode y --ampls-resource-id para configurar el modo de gran escala de registro con el id. de recurso del ámbito de Private Link de Azure Monitor.

Migración

Si Container Insights ya está habilitado para su clúster, deberá deshabilitarlo y volver a habilitarlo con el modo de gran escala.

  • Dado que el modo de gran escala usa una canalización de datos diferente, debe asegurarse de que los puntos de conexión de canalización no están bloqueados por un firewall u otras conexiones de red.
  • El modo de gran escala requiere un punto de conexión para la ingesta de datos (DCE) además del DCR estándar para la recopilación de datos. Si ha creado algún DCR que use Microsoft.ContainerLogV2, debe reemplazarlo por Microsoft.ContainerLogV2-HighScale o se duplicarán los datos. También debe crear un DCE para la ingesta y vincularlo al DCR si el DCR aún no usa uno. Consulte Incorporación de Container Insights a través de Azure Resource Manager como referencia para las dependencias.

Pasos siguientes