Integrare i log Airflow con Monitoraggio di Azure
Questo articolo descrive come iniziare a raccogliere i log Airflow per le istanze di Data Manager di Microsoft Azure per l'energia in Monitoraggio di Azure. Questa funzionalità di integrazione consente di eseguire il debug degli errori di esecuzione di Airflow DAG (Directed Acyclic Graph).
Prerequisiti
Un'area di lavoro Log Analytics esistente. Questa area di lavoro verrà usata per eseguire query sui log Airflow usando l'editor di query KQL (Kusto Query Language) nell'area di lavoro Log Analytics. Risorse utili: Creare un'area di lavoro Log Analytics nel portale di Azure.
Un account di archiviazione esistente: verrà usato per archiviare i dump JSON dei log Airflow. L'account di archiviazione non deve trovarsi nella stessa sottoscrizione dell'area di lavoro Log Analytics.
Abilitazione delle impostazioni di diagnostica per raccogliere i log in un account di archiviazione
Ogni istanza di Data Manager di Azure per l'energia è dotata di un'istanza di Gestore dell'orchestrazione del flusso di lavoro di Azure Data Factory (con tecnologia Apache Airflow). Microsoft raccoglie i log Airflow per la risoluzione di problemi e il debug interni. I log Airflow possono essere integrati con Monitoraggio di Azure nei modi seguenti:
- Account di archiviazione
- area di lavoro Log Analytics
Per accedere ai log tramite una delle due opzioni precedenti, è necessario creare un'impostazione di diagnostica. Ogni impostazione di diagnostica è costituita da tre parti di base:
In parte | Descrizione |
---|---|
Name | Questo è il nome del log di diagnostica. Assicurarsi che per ogni log venga impostato un nome univoco. |
Categorie | Categoria dei log da inviare a ogni destinazione. Il set di categorie può variare per ogni servizio di Azure. Vedere Categorie di log delle risorse supportate |
Destinazioni | una o più destinazioni a cui inviare i log. Tutti i servizi di Azure condividono lo stesso set di destinazioni possibili. Ogni impostazione di diagnostica può definire una o più destinazioni, ma non più di una destinazione di un tipo specifico. Deve essere un account di archiviazione, uno spazio dei nomi di Hub eventi o un hub eventi. |
Per configurare le impostazioni di diagnostica, seguire questa procedura:
Aprire la pagina Panoramica di Data Manager di Microsoft Azure per l'energia
Selezionare Impostazioni di diagnostica nel pannello sinistro
Selezionare Aggiungi impostazione di diagnostica
Selezionare Log attività Airflow in Log
Selezionare Archivia in un account di archiviazione
Verificare la sottoscrizione e l'account di archiviazione in cui archiviare i log.
Passare all'account di archiviazione per scaricare i log Airflow
Dopo aver creato un'impostazione di diagnostica per l'archiviazione dei log attività Airflow in un account di archiviazione, è possibile passare alla pagina Panoramica dell'account di archiviazione. È quindi possibile usare il "browser archiviazione" nel pannello sinistro per trovare il file JSON appropriato da analizzare. L'esplorazione delle diverse directory è intuitiva in quanto si passa da un anno a un mese a un giorno.
Esplorare i Contenitori, disponibili nel pannello sinistro.
Aprire il riquadro informazioni a destra. Contiene un pulsante "download" per salvare il file di log in locale.
I log scaricati possono essere analizzati in qualsiasi editor.
Abilitazione delle impostazioni di diagnostica per l'integrazione dei log con l'area di lavoro Log Analytics
È possibile integrare i log Airflow con l'area di lavoro Log Analytics usando Impostazioni di diagnostica nel pannello sinistro della pagina di panoramica dell'istanza di Data Manager di Microsoft Azure per l'energia.
Uso dei log Airflow integrati nell'area di lavoro Log Analytics
Usare il linguaggio di query Kusto (KQL) per recuperare i dati desiderati sui log Airflow raccolti dall'area di lavoro Log Analytics. È possibile caricare le query di esempio predefinite nell'area di lavoro Log Analytics o creare query personalizzate.
Caricamento di query predefinite: selezionare Log dal menu della risorsa. Log Analytics viene aperto con la finestra Query che include le query predefinite per il tipo di risorsa. Esplorare le query disponibili. Identificare quella da eseguire e selezionare Esegui. La query viene aggiunta alla finestra di query e vengono restituiti i risultati.
Scrivere query nell'editor di query: è possibile copiare, incollare e modificare le query seguenti o scriverne di proprie in KQL nell'editor di query dell'area di lavoro Log Analytics.
Query di esempio
Questa query restituisce tutti i log Airflow di livello ERROR. È possibile filtrare i risultati aggiungendo (rimuovendo i commenti) la clausola where per il nome dell'istanza di Data Manager di Azure per l'energia e l'ID di correlazione per le esecuzioni di 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
Questa query elenca tutte le esecuzioni di DAG e gli ID di correlazione corrispondenti nella risorsa di Data Manager di Azure per l'energia menzionata.
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
È stato aggiunto un documento che consente di risolvere i problemi del processo di inserimento del manifesto usando i log Airflow raccolti nell'area di lavoro Log Analytics.
Passaggi successivi
Ora che si raccolgono i log delle risorse, creare un avviso di query di log per ricevere una notifica proattiva quando i dati interessanti vengono identificati nei dati di log.