Compartir a través de


Supervisión de los registros del plano de datos y del plano de control en Azure Kubernetes Application Network (versión preliminar)

Importante

Las características en versión preliminar de AKS están disponibles a elección del usuario y en régimen de autoservicio. Las versiones preliminares se proporcionan "tal cual" y "como están disponibles", y están excluidas de los Acuerdos de nivel de servicio y garantía limitada. Las versiones preliminares de AKS cuentan con soporte parcial por parte del servicio al cliente en la medida de lo posible. Por lo tanto, estas características no están diseñadas para su uso en producción. Para más información, consulte los siguientes artículos de soporte:

Azure Kubernetes Application Network proporciona dos tipos de registro que puede configurar en función de los requisitos de supervisión y solución de problemas: registros del plano de datos y registros del plano de control.

  • Registros del plano de datos: incluya registros de las cargas de trabajo de aplicación, applink-system componentes de espacio de nombres y registros de acceso de proxy de Envoy.
  • Registros del plano de control: Incluya registros istiod de los componentes de la red de aplicaciones de Azure Kubernetes.

El registro de Azure Kubernetes Application Network está deshabilitado de forma predeterminada. En este artículo se describe cómo habilitar ambos tipos de registro y verlos en Azure Monitor.

Establecimiento de variables de entorno

  • Establezca variables de entorno para el flujo de trabajo seleccionado mediante los siguientes comandos:

    # Set if specifying an existing or creating a new Log Analytics workspace
    export LAW_NAME=<log-analytics-workspace-name>
    
    # Set for resource group, location, and AKS cluster name
    export AKS_RG=<aks-resource-group>
    export LOCATION=<location>
    export CLUSTER_NAME=<aks-cluster-name>
    
    # Set for Azure Kubernetes Application Network member resource group, name, and member name
    export APPNET_RG=<appnet-resource-group>
    export APPNET_NAME=<appnet-name>
    export APPNET_MEMBER_NAME=<appnet-member-name>
    

Habilitación de los registros del plano de datos

Los registros del plano de datos incluyen los de las cargas de trabajo, las aplicaciones y las cargas de trabajo applink-system (Ztunnel e Istio CNI). El complemento Azure Container Insights es la manera preferida de habilitar y ver los registros para solucionar problemas.

Al habilitar los registros del plano de datos, tiene la opción de especificar un área de trabajo de Log Analytics existente, use el área de trabajo predeterminada para el grupo de recursos o cree una nueva área de trabajo.

Creación de un área de trabajo de Log Analytics

  • Si crea un área de trabajo de Log Analytics, use el az monitor log-analytics workspace create comando :

    az monitor log-analytics workspace create \
        --resource-group $AKS_RG \
        --workspace-name $LAW_NAME \
        --location $LOCATION
    

Habilitación del complemento de Container Insights en el clúster de AKS

  • Habilite el complemento Container Insights para el clúster miembro de Application Network de Azure Kubernetes (opcionalmente, omita el identificador del área de trabajo) mediante el az aks enable-addons comando .

     az aks enable-addons \
      --addon monitoring \
      --name $CLUSTER_NAME \
      --resource-group $AKS_RG \
      --workspace-resource-id /subscriptions/$SUBSCRIPTION/resourcegroups/$AKS_RG/providers/microsoft.operationalinsights/workspaces/$LAW_NAME
    

Visualización de registros

  • Para ver los registros, vaya al área de trabajo de Log Analytics y ejecute la consulta siguiente:

    ContainerLogV2
    | where PodNamespace == "applink-system"
    

Registros de acceso de Envoy

En algunos casos, es posible que tenga que examinar los registros de acceso de Envoy cuando se genera tráfico para las aplicaciones o cargas de trabajo. Para habilitar los registros de acceso de Envoy, use la API de Telemetría.

  1. En el archivo YAML siguiente, especifique el espacio de nombres en el que desea habilitar el registro de acceso de Envoy. Para los registros de acceso de Envoy en toda la malla, quite el espacio de nombres de los metadatos.

    cat <<EOF | kubectl apply -n default -f -
    apiVersion: telemetry.istio.io/v1
    kind: Telemetry
    metadata:
      name: mesh-logging-default
      namespace: default
    spec:
      accessLogging:
      - providers:
        - name: envoy
    EOF
    

    Los registros de acceso de Envoy estarán disponibles en el área de trabajo de Log Analytics donde se ha habilitado el complemento de Container Insights.

  2. Para ver los registros de acceso de Envoy, vaya al área de trabajo de Log Analytics y ejecute la consulta siguiente:

    ContainerLogV2
    | where TimeGenerated > ago(45m)
    | where PodName contains "gateway"
    | take 10
    

Habilitación de los registros del plano de control

Para habilitar los registros del plano de control, cree una configuración de diagnóstico y envíe registros al área de trabajo de Log Analytics.

  1. Establezca una variable de entorno para el nombre de configuración de diagnóstico mediante el comando siguiente:

    export DS_NAME=<diagnostic-settings-name>
    
  2. Cree una configuración de diagnóstico para el recurso miembro de Azure Kubernetes Application Network y especifique el área de trabajo de Log Analytics como destino mediante el az monitor diagnostic-settings create comando .

    az monitor diagnostic-settings create \
    --resource /subscriptions/$SUBSCRIPTION/resourceGroups/$APPNET_RG/providers/Microsoft.AppLink/appLinks/$APPNET_NAME/appLinkMembers/$APPNET_MEMBER_NAME \
    --workspace /subscriptions/$SUBSCRIPTION/resourcegroups/$AKS_RG/providers/microsoft.operationalinsights/workspaces/$LAW_NAME \
    --logs "[{category:istiod,enabled:true}]" \
    --name $DS_NAME
    
  3. Una vez habilitado, vaya al área de trabajo de Log Analytics y ejecute la consulta siguiente:

    Nota:

    $appnet_member_resourceId debe tener el formato : /subscriptions/$subscription/resourceGroups/$appnet_rg/providers/microsoft.applink/applinks/$appnet_name/applinkmembers/$appnet_member_name.

    MeshControlPlane
    | where TimeGenerated > ago(1h)
    | where _ResourceId == $appnet_member_resourceId // appnet member resourceId
    

Tablas de registro y esquema

Las tablas siguientes contienen registros de Azure Kubernetes Application Network en el área de trabajo de Log Analytics:

Tabla de registro Descripción
ContainerLogV2 Contiene los registros de tu aplicación o tus cargas de trabajo.
MeshControlPlane Contiene registros Istiod

Schema

Para buscar el ContainerLogV2 esquema, consulte columnas de ContainerLogV2.

MeshControlPlane es una tabla personalizada con el esquema siguiente:

# Nombre de la columna Tipo
0 Id del inquilino cuerda / cadena
1 TimeGenerated datetime
2 Categoría cuerda / cadena
3 Level cuerda / cadena
4 Mensaje cuerda / cadena
5 Contenedor cuerda / cadena
6 PodName cuerda / cadena
7 Sistema de origen cuerda / cadena
8 Tipo cuerda / cadena
9 _IdentificadorDeRecurso cuerda / cadena

Consultas de ejemplo

Filtrado de registros por identificador de recurso de clúster de AKS

  • Filtre los registros en función del identificador de recurso del clúster administrado de AKS en la tabla ContainerLogV2 mediante la consulta siguiente:

    ContainerLogV2
    | where TimeGenerated > ago(45m)
    | where _ResourceId == $aks_cluster_resource_id // managed cluster resourceId
    

Filtrar registros por ID de recurso de miembro de Azure Kubernetes Application Network

  • Filtre los registros del plano de control en la tabla MeshControlPlane basándose en el ID de recurso de miembro de Azure Kubernetes Application Network a través de la siguiente consulta:

    MeshControlPlane
    | where TimeGenerated > ago(45m)
    | where Level == "ERROR"
    | where _ResourceId == $appnet_member_resourceId // appnet member resourceId
    

    En la captura de pantalla siguiente se muestra un ejemplo de los errores de Istiod de Application Network en los registros de Azure Monitor:

    Captura de pantalla de errores de Istiod de la red de aplicaciones de ejemplo de los registros de Azure Monitor.

Para más información sobre la observabilidad y supervisión de Application Network de Azure Kubernetes, consulte los siguientes artículos: