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:
Abra la página de Información general de Microsoft Azure Data Manager for Energy.
En el panel de la izquierda, seleccione Configuración de diagnóstico
Seleccione Agregar configuración de diagnóstico.
Seleccione Registros de tareas de Airflow en Registros.
Seleccione Archive to a storage account.
Compruebe la suscripción y la cuenta de almacenamiento en la que quiera archivar los registros.
Uso de la cuenta de almacenamiento para descargar registros de Airflow
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.
Navegue por Contenedores, que está en el panel izquierdo.
Abra el panel de información de la derecha. Contiene un botón de descarga para guardar el archivo de registro localmente.
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.
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.
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.
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.