Registro de instancias y grupos de contenedores con registros de Azure Monitor
Las áreas de trabajo de Log Analytics proporcionan una ubicación centralizada para almacenar y consultar datos de registro no solo de los recursos de Azure, sino también de los recursos locales y de los recursos de otras nubes. Azure Container Instances incluye compatibilidad integrada para el envío de registros y datos de evento a los registros de Azure Monitor.
Para enviar un registro de grupo de contenedores y datos de eventos a los registros de Azure Monitor, especifique una clave y un identificador de un área de trabajo de Log Analytics existente al configurar un grupo de contenedores.
En las secciones siguientes se describe cómo crear un grupo de contenedores con el registro habilitado y cómo consultar registros. También puede actualizar un grupo de contenedores con un identificador de área de trabajo y una clave de área de trabajo para habilitar el registro.
Nota:
Este artículo se ha actualizado recientemente para usar el término registros de Azure Monitor en lugar de Log Analytics. Los datos de registro siguen almacenándose en un área de trabajo de Log Analytics y siguen recopilándose y analizándose por el mismo servicio de Log Analytics. Estamos actualizando la terminología para reflejar mejor el rol de los registros de Azure Monitor. Consulte Azure Monitor terminology changes (Cambios en la terminología de Azure Monitor) para obtener más información.
Requisitos previos
Para habilitar el registro en las instancias de contenedor, necesita los siguientes requisitos previos:
Obtención de las credenciales de Log Analytics
Azure Container Instances necesita permiso para enviar datos a su área de trabajo de Log Analytics. Para conceder este permiso y habilitar el registro, es preciso proporcionar el identificador del área de trabajo de Log Analytics y una de sus claves (la principal o la secundaria) al crear el grupo de contenedores.
Para obtener el identificador y la clave principal del área de trabajo de Log Analytics:
- Vaya al área de trabajo de Log Analytics en Azure Portal
- En Configuración, seleccione Agents management (Administración de agentes).
- Anote el valor de:
- Id. de área de trabajo
- Clave principal
Creación de un grupo de contenedores
Ahora que tiene el identificador y la clave principal del área de trabajo de Log Analytics, ya puede crear un grupo de contenedores con el registro habilitado.
En los ejemplos siguientes se muestran dos maneras de crear un grupo de contenedores formado por un solo contenedor fluentd: CLI de Azure y la CLI de Azure con una plantilla de YAML. El contenedor fluentd genera varias líneas de salida en su configuración predeterminada. Dado que esta salida se envía a su área de trabajo de Log Analytics, sirve para mostrar la visualización y consulta de registros.
Implementación con la CLI de Azure
Para implementar con la CLI de Azure, especifique los parámetros --log-analytics-workspace
y --log-analytics-workspace-key
en el comando az container create. Antes de ejecutar el siguiente comando, reemplace los dos valores de área de trabajo por los valores obtenidos en el paso anterior (y actualice el nombre del grupo de recursos).
Nota
En el ejemplo siguiente se extrae una imagen de contenedor público de Docker Hub. Se recomienda configurar un secreto de extracción para autenticarse mediante una cuenta de Docker Hub en lugar de realizar una solicitud de extracción anónima. Para mejorar la confiabilidad al trabajar con contenido público, importe y administre la imagen en un registro de contenedor privado de Azure. Más información sobre cómo trabajar con imágenes públicas.
az container create \
--resource-group myResourceGroup \
--name mycontainergroup001 \
--image fluent/fluentd:v1.3-debian-1 \
--log-analytics-workspace <WORKSPACE_ID> \
--log-analytics-workspace-key <WORKSPACE_KEY>
Implementación con YAML
Utilice este método si prefiere implementar grupos de contenedores con YAML. El siguiente fragmento de código YAML define un grupo de contenedores con un solo contenedor. Copie el código YAML en un nuevo archivo y sustituya LOG_ANALYTICS_WORKSPACE_ID
y LOG_ANALYTICS_WORKSPACE_KEY
por los valores que obtuvo en el paso anterior. Guarde el archivo con el nombre deploy-aci.yaml.
Nota
En el ejemplo siguiente se extrae una imagen de contenedor público de Docker Hub. Se recomienda configurar un secreto de extracción para autenticarse mediante una cuenta de Docker Hub en lugar de realizar una solicitud de extracción anónima. Para mejorar la confiabilidad al trabajar con contenido público, importe y administre la imagen en un registro de contenedor privado de Azure. Más información sobre cómo trabajar con imágenes públicas.
apiVersion: 2019-12-01
location: eastus
name: mycontainergroup001
properties:
containers:
- name: mycontainer001
properties:
environmentVariables: []
image: fluent/fluentd:v1.3-debian-1
ports: []
resources:
requests:
cpu: 1.0
memoryInGB: 1.5
osType: Linux
restartPolicy: Always
diagnostics:
logAnalytics:
workspaceId: LOG_ANALYTICS_WORKSPACE_ID
workspaceKey: LOG_ANALYTICS_WORKSPACE_KEY
tags: null
type: Microsoft.ContainerInstance/containerGroups
A continuación, ejecute el siguiente comando para implementar el grupo de contenedores. Reemplace myResourceGroup
por un grupo de recursos de su suscripción (o bien cree antes un grupo de recursos denominado "myResourceGroup"):
az container create --resource-group myResourceGroup --name mycontainergroup001 --file deploy-aci.yaml
Debería recibir una respuesta de Azure con detalles de implementación poco después de emitir el comando.
Ver registros
Después de implementar el grupo de contenedores, las primeras entradas de registro pueden tardar varios minutos (hasta 10) en aparecer en Azure Portal.
Para ver los registros del grupo de contenedores en la tabla ContainerInstanceLog_CL
:
- Vaya al área de trabajo de Log Analytics en Azure Portal
- En General, seleccione Registros.
- Escriba la consulta siguiente:
ContainerInstanceLog_CL | limit 50
- Seleccione Ejecutar.
Debería ver que la consulta muestra varios resultados. Si no ve ninguno, espere unos minutos y seleccione el botón Ejecutar para volver a ejecutar la consulta. De forma predeterminada, las entradas del registro aparecen en formato de tabla. Luego puede expandir una fila para ver el contenido de una entrada de registro individual.
Ver eventos
También puede ver los eventos de las instancias de contenedor en Azure Portal. Los eventos incluyen la hora en que se crea la instancia y cuándo se inicia. Para ver los datos de evento en la tabla ContainerEvent_CL
:
- Vaya al área de trabajo de Log Analytics en Azure Portal
- En General, seleccione Registros.
- Escriba la consulta siguiente:
ContainerEvent_CL | limit 50
- Seleccione Ejecutar.
Debería ver que la consulta muestra varios resultados. Si no ve ninguno, espere unos minutos y seleccione el botón Ejecutar para volver a ejecutar la consulta. De forma predeterminada, las entradas aparecen en formato de tabla. Luego puede expandir una fila para ver el contenido de una entrada individual.
Consulta de registros de contenedores
Los registros de Azure Monitor incluyen un amplio lenguaje de consulta para poder extraer información de miles de líneas de la salida del registro.
La estructura básica de una consulta consiste en la tabla de origen (en este artículo, ContainerInstanceLog_CL
o ContainerEvent_CL
) seguida de una serie de operadores separados por el carácter de barra vertical (|
). Puede encadenar varios operadores para refinar los resultados y realizar funciones avanzadas.
Para ver los resultados de una consulta de ejemplo, pegue la siguiente consulta en el cuadro de texto de consulta y seleccione el botón Ejecutar para ejecutar la consulta. Esta consulta muestra todas las entradas de registro cuyo campo "Message" contiene la palabra "warn":
ContainerInstanceLog_CL
| where Message contains "warn"
También se admiten consultas más complejas. Por ejemplo, esta consulta muestra solo las entradas de registro del grupo de contenedores "mycontainergroup001" generadas en la última hora:
ContainerInstanceLog_CL
| where (ContainerGroup_s == "mycontainergroup001")
| where (TimeGenerated > ago(1h))
Esquema de registro
Para obtener información sobre el esquema heredado de Azure Monitor para Log Analytics, consulte tablas heredadas de Log Analytics.
Uso de la configuración de diagnóstico
Las tablas más recientes requieren el uso de la configuración de diagnóstico para enrutar información a Log Analytics. La característica de configuración de diagnóstico para Container Instances está en versión preliminar pública y se puede habilitar a través de las opciones de características en versión preliminar en Azure Portal.
Para más información, consulte tablas de Log Analytics de Azure Monitor.
Pasos siguientes
Registros de Azure Monitor
Para más información acerca de cómo realizar consultas en registros y configurar alertas en registros de Azure Monitor, consulte:
- Descripción de las búsquedas de registros en los registros de Azure Monitor
- Alertas unificadas en Azure Monitor
Supervisión de la CPU y la memoria de los contenedores
Para obtener información acerca de la supervisión de los recursos de CPU y de memoria de un instancia de contenedor, consulte: