Share via


Integración de registros de Airflow con Azure Monitor

En este artículo aprenderá a empezar a recopilar registros de Airflow para las instancias de Microsoft Azure Data Manager for Energy en Azure Monitor. Esta característica de integración ayuda a depurar errores de ejecución de DAG (grafo acíclico dirigido) de Airflow.

Requisitos previos

  • Un área de trabajo de Log Analytics existente El área de trabajo se usará para consultar los registros de Airflow mediante el editor de consultas de Lenguaje de consulta Kusto (KQL) en el área de trabajo de Log Analytics. Recurso útil: Creación de un área de trabajo de Log Analytics en Azure Portal

  • Una cuenta de almacenamiento existente, que se usará para almacenar volcados JSON de los registros de Airflow No es necesario que la cuenta de almacenamiento esté en la misma suscripción que el área de trabajo de Log Analytics.

Habilitación de la configuración de diagnóstico para recopilar registros en una cuenta de almacenamiento

Cada instancia de Azure Data Manager for Energy se compila con una instancia de Administrador de orquestación de flujo de trabajo de Azure Data Factory (con tecnología de Apache Airflow). Se recopilan registros de Airflow con fines internos de solución de problemas y depuración. Los registros de Airflow se pueden integrar con Azure Monitor de las siguientes maneras:

  • Cuenta de almacenamiento
  • Área de trabajo de Log Analytics

Para acceder a los registros mediante cualquiera de las dos opciones anteriores, debe crear una configuración de diagnóstico. Cada configuración de diagnóstico tiene tres partes básicas:

Parte Descripción
Nombre Este es el nombre del registro de diagnóstico. Asegúrese de que se establece un nombre único para cada registro.
Categorías Categoría de registros que se van a enviar a cada uno de los destinos. Este conjunto de categorías variará para cada servicio de Azure. Consulte: Categorías del registro de recursos admitidas
Destinos Uno o más destinos para enviar los registros. Todos los servicios de Azure comparten el mismo conjunto de destinos posibles. Cada configuración de diagnóstico puede definir uno o más destinos, pero no más de uno de un tipo determinado. Debe ser una cuenta de almacenamiento, un espacio de nombres de Event Hubs o un centro de eventos.

Siga los pasos siguientes para configurar la configuración de diagnóstico:

  1. Abra la página de Información general de Microsoft Azure Data Manager for Energy.

  2. En el panel de la izquierda, seleccione Configuración de diagnóstico

    Captura de pantalla de la página de información general de configuración de diagnóstico de Azure Monitor. En la página se muestra una lista de las configuraciones de diagnóstico existentes y la opción para agregar una nueva.

  3. Seleccione Agregar configuración de diagnóstico.

  4. Seleccione Registros de tareas de Airflow en Registros.

  5. Seleccione Archive to a storage account.

    Captura de pantalla para crear una configuración de diagnóstico con la que archivar registros en una cuenta de almacenamiento. En la imagen se muestran la suscripción y la cuenta de almacenamiento elegida para una configuración de diagnóstico.

  6. Compruebe la suscripción y la cuenta de almacenamiento en la que quiera archivar los registros.

Una vez creada una configuración de diagnóstico para archivar registros de tareas de Airflow en una cuenta de almacenamiento, puede ir a la página de información general de la cuenta de almacenamiento. Después, puede usar el "Explorador de almacenamiento", en el panel izquierdo, para buscar el archivo JSON que quiera investigar. Navegar por diferentes directorios es intuitivo, ya que se pasa del año al mes y el día.

  1. Navegue por Contenedores, que está en el panel izquierdo.

    Captura de pantalla para explorar los registros archivados en los contenedores de la cuenta de almacenamiento. El contenedor mostrará los registros de todos los orígenes configurados.

  2. Abra el panel de información de la derecha. Contiene un botón de descarga para guardar el archivo de registro localmente.

  3. Los registros descargados se pueden analizar en cualquier editor.

Habilitación de la configuración de diagnóstico para integrar registros en el área de trabajo de Log Analytics

Puede integrar registros de Airflow en el área de trabajo de Log Analytics mediante la configuración de diagnóstico en el panel izquierdo de la página de información general de la instancia de Microsoft Azure Data Manager for Energy.

Captura de pantalla para crear una configuración de diagnóstico. Muestra las opciones para seleccionar suscripción y área de trabajo de Log Analytics con la que se va a integrar.

Uso de los registros de flujo de Airflow en el área de trabajo de Log Analytics

Use Lenguaje de consulta Kusto (KQL) para recuperar los datos deseados en los registros recopilados de Airflow del área de trabajo de Log Analytics. Puede cargar las consultas de ejemplo precompiladas en el área de trabajo de Log Analytics o crear sus propias consultas.

Captura de pantalla de la página de Log Analytics de Azure Monitor para ver los registros recopilados. En la administración de registros, las tablas de todos los orígenes estarán visibles.

  1. Carga de consultas pregeneradas: seleccione Registros en el menú del recurso. Log Analytics se abre con la ventana Consultas, que incluye consultas creadas previamente para el tipo de recurso. Examine las consultas disponibles. Identifique la que quiera ejecutar y seleccione la opción correspondiente. Se agregará la consulta a la ventana de consultas y se devolverán los resultados.

  2. Escribir consultas en el editor de consultas: puede copiar, pegar y editar las siguientes consultas o escribir las suyas propias en KQL en el Editor de consultas del área de trabajo de Log Analytics.

Consultas de ejemplo

Esta consulta devuelve todos los registros de Airflow que son de nivel ERROR. Puede filtrar los resultados agregando (sin marca de comentario) la cláusula para el nombre de instancia de Azure Data Manager for Energy y el Id. de correlación de las ejecuciones de DAG.


OEPAirFlowTask
| extend ResourceName = tostring(split(_ResourceId , '/')[-1])
// | where ResourceName == "<the name of ADME instance>"        // to filter on resourceName replace <...> and uncomment line
// | where CorrelationId == "<DAG run's runId>"                 // to filter on correlationID replace <...> with correlationId (same as runId) - we have created a duplicate for to maintain consistency of column name across all services 
| where LogLevel  == "ERROR"
| project TimeGenerated, DagName, LogLevel, DagTaskName, CodePath, Content

Esta consulta enumera todas las ejecuciones de DAG y sus Id. de correlación correspondientes en el recurso de Azure Data Manager for Energy mencionado.


OEPAirFlowTask
| extend ResourceName = tostring(split(_ResourceId , '/')[-1])
// | where ResourceName == "<the name of ADME instance>"        // to filter on resourceName replace <...> and uncomment line
| distinct DagName, CorrelationId                               // correlationId is same as runId - we have created a duplicate for consistency in search across logs of all services 
| sort by DagName asc

Hemos agregado un documento para ayudarle a solucionar problemas del proceso de ingesta de manifiestos mediante los registros de Airflow recopilados en el área de trabajo de Log Analytics.

Pasos siguientes

Ahora que está recopilando registros de recursos, cree una alerta de consulta de registro para recibir una notificación proactiva cuando se identifiquen datos interesantes en los datos de registro.