Supervisión de una aplicación en la versión preliminar de Azure Container Apps

Azure Container Apps recopila un amplio conjunto de datos sobre la aplicación de contenedor y los almacena mediante Log Analytics. En este artículo, se describen los registros disponibles y cómo escribir y ver registros.

Escritura en un registro

Al escribir en los flujos de salida estándar (stdout) o de error estándar (stderr), los agentes de registro de Container Apps escriben registros para cada mensaje.

Cuando se registra un mensaje, se recopila la siguiente información en la tabla de registro:

Propiedad Comentarios
RevisionName
ContainerAppName
ContainerGroupID
ContainerGroupName
ContainerImage
ContainerID Identificador único del contenedor. Puede usar este valor para ayudar a identificar los bloqueos del contenedor.
Stream Muestra si se usa stdout o stderr para el registro.
EnvironmentName

Texto simple frente a datos estructurados

Puede registrar una cadena de texto única o una línea de datos JSON serializados. La información se muestra de forma diferente en función del tipo de datos que registre.

Tipo de datos Descripción
Línea de texto única El texto aparece en la columna Log_s.
JSON serializado El agente de registro analiza los datos y se muestran en columnas que coinciden con los nombres de las propiedades del objeto JSON.

Visualización de los registros

Los datos registrados mediante una aplicación de contenedor se almacenan en la tabla personalizada ContainerAppConsoleLogs_CL del área de trabajo de Log Analytics. Puede ver los registros mediante Azure Portal o con la CLI.

Establezca el nombre del grupo de recursos y el área de trabajo de Log Analytics y, a continuación, recupere el valor de LOG_ANALYTICS_WORKSPACE_CLIENT_ID con los siguientes comandos.

RESOURCE_GROUP="my-containerapps"
LOG_ANALYTICS_WORKSPACE="containerapps-logs"

LOG_ANALYTICS_WORKSPACE_CLIENT_ID=`az monitor log-analytics workspace show --query customerId -g $RESOURCE_GROUP -n $LOG_ANALYTICS_WORKSPACE --out tsv`

Use el siguiente comando de la CLI para ver los registros en la línea de comandos.

az monitor log-analytics query \
  --workspace $LOG_ANALYTICS_WORKSPACE_CLIENT_ID \
  --analytics-query "ContainerAppConsoleLogs_CL | where ContainerAppName_s == 'my-container-app' | project ContainerAppName_s, Log_s, TimeGenerated | take 3" \
  --out table

En la salida siguiente, se muestra el tipo de respuesta que se espera del comando de la CLI.

ContainerAppName_s    Log_s                 TableName      TimeGenerated
--------------------  --------------------  -------------  ------------------------
my-container-app      listening on port 80  PrimaryResult  2021-10-23T02:09:00.168Z
my-container-app      listening on port 80  PrimaryResult  2021-10-23T02:11:36.197Z
my-container-app      listening on port 80  PrimaryResult  2021-10-23T02:11:43.171Z

Pasos siguientes