Supervisión de Azure Batch

En este artículo se describe:

  • Los tipos de datos de supervisión que puede recopilar para este servicio.
  • Formas de analizar esos datos.

Nota:

Si ya está familiarizado con este servicio o Azure Monitor y solo quiere saber cómo analizar los datos de supervisión, consulte la sección Analizar cerca del final de este artículo.

Cuando tenga aplicaciones críticas y procesos empresariales que dependan de los recursos de Azure, deberá supervisar y obtener alertas para el sistema. El servicio Azure Monitor recopila y agrega métricas y registros de todos los componentes del sistema. Azure Monitor proporciona una vista de la disponibilidad, el rendimiento y la resistencia, y le notifica los problemas. Puede usar Azure Portal, PowerShell, la CLI de Azure, la API de REST o las bibliotecas cliente para configurar y ver los datos de supervisión.

Tipos de recursos

Azure usa el concepto de tipos de recursos e identificadores para identificar todo el contenido de una suscripción. De forma similar, Azure Monitor organiza los datos principales de supervisión en métricas y registros en función de tipos de recursos, que también se denominan espacios de nombres. Hay diferentes métricas y registros disponibles para distintos tipos de recursos. Es posible que el servicio esté asociado a más de un tipo de recurso.

Los tipos de recursos también forman parte de los identificadores de recursos para cada recurso que se ejecuta en Azure. Por ejemplo, un tipo de recurso para una máquina virtual es Microsoft.Compute/virtualMachines. Para obtener una lista de los servicios y sus tipos de recursos asociados, consulte Proveedores de recursos.

Para obtener más información sobre los tipos de recursos para Batch, consulte Referencia de datos de supervisión de Batch.

Almacenamiento de datos

Para Azure Monitor:

  • Los datos de métricas se almacenan en la base de datos de métricas de Azure Monitor.
  • Los datos de registro se almacenan en el almacén de registros de Azure Monitor. Log Analytics es una herramienta de Azure Portal que puede hacer consultas en este almacén.
  • El registro de actividad de Azure es un almacén independiente con su propia interfaz en Azure Portal.

Opcionalmente, puede enrutar los datos del registro de actividad y métricas al almacén de registros de Azure Monitor. A continuación, puede usar Log Analytics para consultar los datos y correlacionarlos con otros datos de registro.

Muchos servicios pueden usar la configuración de diagnóstico para enviar datos de métricas y de registro a otras ubicaciones de almacenamiento fuera de Azure Monitor. Algunos ejemplos son Azure Storage, sistemas de asociados hospedados, y sistemas asociados que no son de Azure mediante Event Hubs.

Para obtener información detallada sobre cómo Azure Monitor almacena datos, consulte Plataforma de datos de Azure Monitor.

Acceso a los registros de diagnóstico en el almacenamiento

Si archiva registros de diagnóstico de Batch en una cuenta de almacenamiento, se crea un contenedor de almacenamiento en la cuenta de almacenamiento en cuanto se produce un evento relacionado. Se crean blobs según el siguiente patrón de nomenclatura:

insights-{log category name}/resourceId=/SUBSCRIPTIONS/{subscription ID}/
RESOURCEGROUPS/{resource group name}/PROVIDERS/MICROSOFT.BATCH/
BATCHACCOUNTS/{Batch account name}/y={four-digit numeric year}/
m={two-digit numeric month}/d={two-digit numeric day}/
h={two-digit 24-hour clock hour}/m=00/PT1H.json

Por ejemplo:

insights-metrics-pt1m/resourceId=/SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/
RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.BATCH/
BATCHACCOUNTS/MYBATCHACCOUNT/y=2018/m=03/d=05/h=22/m=00/PT1H.json

Cada archivo de blob PT1H.json contiene eventos con formato JSON que se producen dentro de la hora especificada en la dirección URL del blob (por ejemplo, h=12). Durante la hora en cuestión, los eventos se anexan al archivo PT1H.json a medida que se producen. El valor de los minutos (m=00) siempre es 00, ya que los eventos de los registros de diagnóstico se dividen en blobs individuales por hora. Todas las horas se muestran en UTC.

En el ejemplo siguiente, se muestra una entrada PoolResizeCompleteEvent en un archivo de registro PT1H.json. La entrada incluye información sobre el número actual y el número que se desea conseguir de nodos dedicados y de baja prioridad, así como la hora de inicio y de finalización de la operación.

{ "Tenant": "65298bc2729a4c93b11c00ad7e660501", "time": "2019-08-22T20:59:13.5698778Z", "resourceId": "/SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.BATCH/BATCHACCOUNTS/MYBATCHACCOUNT/", "category": "ServiceLog", "operationName": "PoolResizeCompleteEvent", "operationVersion": "2017-06-01", "properties": {"id":"MYPOOLID","nodeDeallocationOption":"Requeue","currentDedicatedNodes":10,"targetDedicatedNodes":100,"currentLowPriorityNodes":0,"targetLowPriorityNodes":0,"enableAutoScale":false,"isAutoPool":false,"startTime":"2019-08-22 20:50:59.522","endTime":"2019-08-22 20:59:12.489","resultCode":"Success","resultMessage":"The operation succeeded"}}

Para acceder a los registros de la cuenta de almacenamiento mediante programación, use las API de Storage.

Métricas de plataforma de Azure Monitor

Azure Monitor proporciona métricas de plataforma para la mayoría de los servicios. Estas son las métricas:

  • Se define individualmente para cada espacio de nombres.
  • Almacenado en la base de datos de métricas de serie temporal de Azure Monitor.
  • Ligero y capaz de admitir alertas casi en tiempo real.
  • Se usa para supervisar el rendimiento de un recurso a lo largo del tiempo.

Recopilación: Azure Monitor recopila automáticamente las métricas de la plataforma. No se requiere ninguna configuración.

Enrutamiento: También puede enrutar las métricas de la plataforma a registros de Azure Monitor o Log Analytics para que pueda consultarlas con otros datos de registro. Para más información, consulta el valor Diagnóstico de métricas. Para obtener información sobre cómo configurar las opciones de diagnóstico de un servicio, consulta Creación de valores de diagnóstico en Azure Monitor.

Para obtener una lista de todas las métricas que es posible recopilar para todos los recursos de Azure Monitor, consulte Métricas admitidas en Azure Monitor.

Ejemplos de métricas en una cuenta de Batch son: eventos de creación de grupos, recuento de nodos de prioridad baja y eventos de finalización de tareas. Estas métricas pueden ayudar a identificar tendencias y se pueden usar para el análisis de datos.

Nota:

Es posible que las métricas emitidas en los 3 últimos minutos se sigan agregando, por lo que los valores podrían no corresponderse con la realidad durante este período de tiempo. La entrega de la métrica no está garantizada y podría verse afectada por la entrega desordenada, la pérdida de datos o la duplicación.

Para obtener una lista completa de las métricas disponibles para Batch, consulte Referencia de datos de supervisión de Batch.

Registros de recursos de Azure Monitor

Los registros de recursos proporcionan información sobre las operaciones realizadas por un recurso de Azure. Los registros se generan automáticamente, pero debe enrutarlos a los registros de Azure Monitor para guardarlos o consultarlos. Los registros se organizan en categorías. Un espacio de nombres determinado puede tener varias categorías de registro de recursos.

Recopilación: los registros de recursos no se recopilan ni almacenan hasta que se crea una configuración de diagnóstico y se enrutan los registros a una o varias ubicaciones. Cuando se crea una configuración de diagnóstico, se especifican las categorías de registros que se van a recopilar. Hay varias maneras de crear y mantener la configuración de diagnóstico, como Azure Portal, hacerlo mediante programación o usar Azure Policy.

Enrutamiento: el valor predeterminado sugerido es enrutar los registros de recursos a los registros de Azure Monitor para poder consultarlos con otros datos de registro. También están disponibles otras ubicaciones como Azure Storage, Azure Event Hubs y determinados asociados de supervisión de Microsoft. Para más información, consulte los Registros de recursos de Azure y los Destinos de registro de recursos.

Para obtener información detallada sobre cómo recopilar, almacenar y enrutar registros de recursos, consulte Configuración de diagnóstico en Azure Monitor.

Para obtener una lista de todas las categorías de registro de recursos disponibles en Azure Monitor, consulte Registros de recursos admitidos en Azure Monitor.

Todos los registros de recursos de Azure Monitor tienen los mismos campos de encabezado, seguidos de campos específicos del servicio. El esquema común se describe en Esquema de registros de recursos de Azure Monitor.

Para conocer las categorías de registro de recursos disponibles, sus tablas de Log Analytics asociadas y los esquemas de registro para Batch, consulte Referencia de datos de supervisión de Batch.

Tiene que habilitar explícitamente la configuración de diagnóstico de cada cuenta de Batch que quiera supervisar.

Para el servicio Batch, puede recopilar los registros siguientes:

  • ServiceLog: Eventos que emite el servicio Batch durante la vigencia de un recurso individual, como un grupo o una tarea.
  • AllMetrics: Métricas en el nivel de la cuenta de Batch.

En la captura de pantalla siguiente se muestra una configuración de diagnóstico de ejemplo que envía allLogs y AllMetrics a un área de trabajo de Log Analytics.

Captura de pantalla de la página de configuración de diagnóstico mostrando un ejemplo.

Al crear un grupo de Azure Batch, puede instalar cualquiera de las siguientes extensiones relacionadas con la supervisión en los nodos de proceso para recopilar y analizar datos:

Para obtener una comparación de las diferentes extensiones y agentes y los datos que recopilan, consulte Comparación de agentes.

Registro de actividades de Azure

El registro de actividad contiene eventos de nivel de suscripción que realizan el seguimiento de las operaciones de cada recurso de Azure, tal como se ve desde fuera de ese recurso; por ejemplo, crear un recurso o iniciar una máquina virtual.

Recopilación: los eventos del registro de actividad se generan y recopilan automáticamente en un almacén independiente para su visualización en Azure Portal.

Enrutamiento: puedes enviar datos del registro de actividad a los registros de Azure Monitor para poder analizarlos junto con otros datos de registro. También están disponibles otras ubicaciones como Azure Storage, Azure Event Hubs y determinados asociados de supervisión de Microsoft. Para más información sobre cómo enrutar el registro de actividad, consulte Información general del registro de actividad de Azure.

Para las cuentas de Batch en concreto, el registro de actividad recopila eventos relacionados con la creación y la eliminación de cuentas, y la administración de claves.

Analizar los datos de supervisión

Hay muchas herramientas para analizar los datos de supervisión.

Herramientas de Azure Monitor

Azure Monitor admite las siguientes herramientas básicas:

Entre las herramientas que permiten una visualización más compleja se incluyen:

  • Paneles que permiten combinar diferentes tipos de datos en un único panel de Azure Portal.
  • Libros: informes personalizables que se pueden crear en Azure Portal. Los libros pueden incluir texto, métricas y consultas de registro.
  • Grafana: una herramienta de plataforma abierta que se destaca en los paneles operativos. Puede usar Grafana para crear paneles que incluyan datos de varios orígenes distintos de Azure Monitor.
  • Power BI: un servicio de análisis empresarial que proporciona visualizaciones interactivas en varios orígenes de datos. Puede configurar Power BI para que los datos de registro se importen automáticamente desde Azure Monitor y utilizar estas otras adicionales.

Al analizar las métricas de Batch basadas en recuento, como el recuento de núcleos dedicados o el número de nodos de prioridad baja, use la agregación de Promedio. En el caso de métricas basadas en eventos (como Eventos de finalización de cambio de tamaño de grupo), use la agregación Recuento. Evite usar la agregación Suma, que suma los valores de todos los puntos de datos recibidos durante el período del gráfico.

Herramientas de exportación de Azure Monitor

Puede obtener datos de Azure Monitor en otras herramientas mediante los siguientes métodos:

Para empezar a trabajar con la API de REST para Azure Monitor, consulte Tutorial de la API de REST de supervisión de Azure.

Consultas de Kusto

Puedes analizar datos de supervisión en el almacén de registros de Azure Monitor o Log Analytics mediante el lenguaje de consulta Kusto (KQL).

Importante

Al seleccionar Registros en el menú del servicio del portal, Log Analytics se abre con el ámbito de consulta establecido en el servicio actual. Este ámbito significa que las consultas de registro solo incluirán datos de ese tipo de recurso. Si quiere ejecutar una consulta que incluya datos de otros servicios de Azure, seleccione Registros en el menú Azure Monitor. Consulte Ámbito e intervalo de tiempo de una consulta de registro en Log Analytics de Azure Monitor para obtener más información.

Para obtener una lista de las consultas comunes de cualquier servicio, consulte Interfaz de consultas de Log Analytics.

Consultas de ejemplo

Estas son algunas consultas de registro de ejemplo para Batch:

Cambio de tamaño del grupo: muestra los tiempos de cambio de tamaño por grupo y el código de resultado (correcto o erróneo):

AzureDiagnostics
| where OperationName=="PoolResizeCompleteEvent"
| summarize operationTimes=make_list(startTime_s) by poolName=id_s, resultCode=resultCode_s

Duraciones de tareas: proporciona el tiempo transcurrido de las tareas en segundos, desde el inicio de la tarea hasta la finalización de la tarea.

AzureDiagnostics
| where OperationName=="TaskCompleteEvent"
| extend taskId=id_s, ElapsedTime=datetime_diff('second', executionInfo_endTime_t, executionInfo_startTime_t) // For longer running tasks, consider changing 'second' to 'minute' or 'hour'
| summarize taskList=make_list(taskId) by ElapsedTime

Tareas con errores por trabajo: muestra las tareas con errores por trabajo primario.

AzureDiagnostics
| where OperationName=="TaskFailEvent"
| summarize failedTaskList=make_list(id_s) by jobId=jobId_s, ResourceId

Alertas

Las alertas de Azure Monitor le informan de forma proactiva cuando se detectan condiciones específicas en los datos que se supervisan. Las alertas permiten identificar y solucionar las incidencias en el sistema antes de que los clientes puedan verlos. Para obtener más información, vea Alertas de Azure Monitor.

Hay muchos orígenes de alertas comunes para los recursos de Azure. Para obtener ejemplos de alertas comunes para recursos de Azure, consulte Consultas de alertas de registro de ejemplo. El sitio Alertas de línea base de Azure Monitor (AMBA) proporciona un método semiautomatizado para implementar importantes alertas de métricas de plataforma, paneles e instrucciones. El sitio se aplica a un subconjunto de servicios de Azure que se expande continuamente, incluidos todos los servicios que forman parte de la zona de aterrizaje de Azure (ALZ).

El esquema de alerta común normaliza el consumo de notificaciones de alerta de Azure Monitor. Para obtener más información, consulte Esquema de alertas comunes.

Tipos de alertas

Puede alertar sobre cualquier métrica o fuente de datos de registro en la plataforma de datos de Azure Monitor. Hay muchos tipos diferentes de alertas en función de los servicios que está supervisando y de los datos de supervisión que está recopilando. Los distintos tipos de alertas tienen varias ventajas y desventajas. Para obtener más información, consulte Elegir el tipo de alerta de supervisión adecuado.

En la siguiente lista se describen los tipos de alertas de Azure Monitor que puede crear:

  • Alertas de métricas: evalúan las métricas de recursos a intervalos regulares. Las métricas pueden ser métricas de plataforma, métricas personalizadas, registros de Azure Monitor convertidos en métricas o métricas de Application Insights. Las alertas de métricas también pueden aplicar varias condiciones y umbrales dinámicos.
  • Alertas de registro: permiten a los usuarios emplear una consulta de Log Analytics para evaluar los registros de recursos con una frecuencia predefinida.
  • Alertas del registro de actividad: se desencadenan cuando se produce un nuevo evento del registro de actividad que coincide con las condiciones definidas. Las alertas de Resource Health y de Service Health son alertas del registro de actividad que informan sobre el servicio y el estado de los recursos.

Algunos servicios de Azure también admiten alertas de detección inteligente, alertas de Prometheus, o reglas de alerta recomendadas.

Para algunos servicios, puede supervisar a escala aplicando la misma regla de alertas de métricas a varios recursos del mismo tipo que existen en la misma región de Azure. Se envían notificaciones individuales para cada recurso supervisado. Para obtener servicios y nubes de Azure compatibles, consulte Supervisión de varios recursos con una regla de alerta.

Nota:

Si va a crear o ejecutar una aplicación que se ejecuta en el servicio, Application Insights de Azure Monitor podría ofrecer más tipos de alertas.

Reglas de alertas de Batch

Dado que la entrega de métricas podría estar sujeta a incoherencias, como la entrega desordenada, la pérdida de datos o la duplicación, debería evitar las alertas que se desencadenen en un único punto de datos. En su lugar, use umbrales para tener en cuenta estas incoherencias durante un período de tiempo.

Por ejemplo, podría configurar una alerta de métrica cuando el recuento de núcleos de baja prioridad caiga hasta cierto punto. Después, podría usar esta alerta para ajustar la composición de los grupos. Para obtener mejores resultados, establezca un período de 10 minutos o más en el que se desencadene la alerta si el recuento promedio de núcleos de prioridad baja cayera por debajo del valor de umbral en todo el período. Este periodo de tiempo permite que se agreguen métricas y así obtener resultados más precisos.

En la tabla siguiente se enumeran algunos desencadenadores de reglas de alerta para Batch. Estas reglas de alerta son solo ejemplos. Puede configurar alertas para cualquier métrica, entrada de registro o entrada de registro de actividad que figura en la Referencia de datos de supervisión para Batch.

Tipo de alerta Condición Descripción
Métrica Recuento de nodos no utilizables Cada vez que el número de nodos no utilizables es mayor que 0
Métrica Eventos de error en tareas Cada vez que el total de eventos de error de tarea es mayor que el umbral dinámico

Recomendaciones de Advisor

Para algunos servicios, si se producen condiciones críticas o cambios inminentes durante las operaciones de recursos, se muestra una alerta en la página Información general del servicio del portal. Puede encontrar más información y correcciones recomendadas para la alerta en Recomendaciones de Advisor en Supervisión en el menú izquierdo. Durante las operaciones normales, no se muestran recomendaciones de Advisor.

Para más información sobre Azure Advisor, consulte Introducción a Azure Advisor.

Otras opciones de supervisión de Batch

Batch Explorer es una herramienta de cliente independiente, completa y gratuita que puede ayudarle a crear, depurar y supervisar aplicaciones de Azure Batch. Puede usar Azure Batch Insights con Batch Explorer para obtener estadísticas del sistema para los nodos de Batch, como contadores de rendimiento de máquinas virtuales (VM).

En las aplicaciones de Batch, puede usar la biblioteca de .NET de Batch para supervisar o consultar el estado de los recursos, como trabajos, tareas, nodos y grupos. Por ejemplo:

Puede usar las API de Batch para crear consultas de lista para trabajos, tareas, nodos de proceso y otros recursos de Batch. Para más información sobre cómo aplicar filtros a las consultas de lista, consulte Creación de consultas para enumerar los recursos de Batch con eficacia.

O bien, en lugar de realizar consultas de lista que consumen mucho tiempo que devuelven información detallada sobre grandes colecciones de tareas o nodos, puede usar las operaciones Obtener recuentos de tareas y Recuentos de nodos de grupo de listas para obtener recuentos de tareas y nodos de proceso por lotes. Para obtener más información, consulte Supervisión de soluciones de Batch mediante el recuento de tareas y nodos por estado.

Puede integrar Application Insights con las aplicaciones de Azure Batch para instrumentar el código con métricas y seguimiento personalizados. Para obtener un tutorial detallado sobre cómo agregar Application Insights a una solución .NET de Batch, instrumentar el código de aplicación, supervisar la aplicación en Azure Portal y crear paneles personalizados, consulte Supervisión y depuración de una aplicación .NET de Azure Batch con Application Insights y el ejemplo de código complementario.