Integrieren von Airflow-Protokollen in Azure Monitor
In diesem Artikel erfahren Sie, wie Sie mit dem Sammeln von Airflow-Protokollen für Ihre Microsoft Azure Data Manager for Energy-Instanzen in Azure Monitor beginnen. Mit diesem Integrationsfeature können Sie DAG-Ausführungsfehler (Directed Acyclic Graph, gerichteter azyklischer Graph) in Airflow debuggen.
Voraussetzungen
Ein vorhandener Log Analytics-Arbeitsbereich. Dieser Arbeitsbereich wird verwendet, um die Airflow-Protokolle mithilfe des KQL-Abfrage-Editors (Kusto Query Language) im Log Analytics-Arbeitsbereich abzufragen. Nützliche Ressource: Erstellen eines Log Analytics-Arbeitsbereichs im Azure-Portal.
Ein vorhandenes Speicherkonto: Dieses wird verwendet, um JSON-Sicherungen von Airflow-Protokollen zu speichern. Das Speicherkonto muss sich nicht im selben Abonnement wie der Log Analytics-Arbeitsbereich befinden.
Aktivieren von Diagnoseeinstellungen zum Erfassen von Protokollen in einem Speicherkonto
Jeder Azure Data Manager for Energy-Instanz ist mit einer Azure Data Factory Workflow Orchestration Manager (unterstützt von Apache Airflow) integriert. Airflow-Protokolle werden für die interne Problembehandlung und zum Debuggen gesammelt. Airflow-Protokolle können auf folgende Weise in Azure Monitor integriert werden:
- Speicherkonto
- Log Analytics-Arbeitsbereich
Um über eine der oben genannten beiden Optionen auf Protokolle zuzugreifen, müssen Sie eine Diagnoseeinstellung erstellen. Jede Diagnoseeinstellung besteht aus drei Teilen:
Teil | BESCHREIBUNG |
---|---|
Name | Dies ist der Name des Diagnoseprotokolls. Stellen Sie sicher, dass für jedes Protokoll ein eindeutiger Name festgelegt ist. |
Kategorien | Kategorien der Protokolle, die an die Ziele gesendet werden können. Die Kategorien unterscheiden sich je nach Azure-Dienst. Besuchen Sie: Unterstützte Ressourcenprotokollkategorien |
Destinations | Ein oder mehrere Ziele zum Senden der Protokolle. Für alle Azure-Dienste gelten dieselben möglichen Ziele. Jede Diagnoseeinstellung kann ein oder mehrere Ziele definieren, aber nicht mehr als ein Ziel eines bestimmten Typs. Es sollte sich um ein Speicherkonto, einen Event Hubs-Namespace oder einen Event Hub handeln. |
Führen Sie die folgenden Schritte aus, um Diagnoseeinstellungen einzurichten:
Öffnen Sie die Seite Übersicht für Microsoft Azure Data Manager for Energy auf.
Wählen Sie im linken Bereich Diagnoseeinstellungen aus.
Wählen Sie Diagnoseeinstellung hinzufügen aus.
Wählen Sie unter „Protokolle“ die Option Airflow-Aufgabenprotokolle aus.
Aktivieren Sie das Kontrollkästchen In einem Speicherkonto archivieren.
Überprüfen Sie das Abonnement und das Speicherkonto, in das Sie die Protokolle archivieren möchten.
Navigieren im Speicherkonto zum Herunterladen von Airflow-Protokollen
Nachdem eine Diagnoseeinstellung erstellt wurde, um Airflow-Aufgabenprotokollen in einem Speicherkonto zu archivieren, können Sie zur Übersichtsseite des Speicherkontos navigieren. Sie können dann den „Speicherbrowser“ im linken Bereich verwenden, um die JSON-Datei zu suchen, die Sie untersuchen möchten. Sie können verschiedene Verzeichnisse intuitiv durchsuchen. Wechseln Sie von Jahren zu Monaten und dann zu Tagen.
Navigieren Sie durch Container, die im linken Bereich verfügbar sind.
Öffnen Sie den Informationsbereich rechts. Er enthält die Schaltfläche „Herunterladen“, über die Sie die Protokolldatei lokal speichern können.
Heruntergeladene Protokolle können in einem beliebigen Editor analysiert werden.
Aktivieren von Diagnoseeinstellungen zum Integrieren von Protokollen in einen Log Analytics-Arbeitsbereich
Sie können Airflow-Protokolle in den Log Analytics-Arbeitsbereich integrieren. Verwenden Sie dazu die Option Diagnoseeinstellungen im linken Bereich der Übersichtsseite Ihrer Microsoft Azure Data Manager for Energy-Instanz.
Arbeiten mit den integrierten Airflow-Protokollen im Log Analytics-Arbeitsbereich
Verwenden Sie Kusto-Abfragesprache (Kusto Query Language, KQL), um gewünschte Daten zu gesammelten Airflow-Protokollen aus Ihrem Log Analytics-Arbeitsbereich abzurufen. Sie können entweder die vorgefertigten Beispielabfragen in Ihren Log Analytics-Arbeitsbereich laden oder Ihre eigenen Abfragen erstellen.
Laden vordefinierter Abfragen: Wählen Sie Protokolle aus dem Menü Ihrer Ressource aus. Log Analytics wird mit dem Fenster Abfragen geöffnet, das vordefinierte Abfragen für Ihren Ressourcentyp enthält. Durchsuchen Sie die verfügbaren Abfragen. Ermitteln Sie die ausführende Abfrage, und wählen Sie „Ausführen“ aus. Die Abfrage wird dem Abfragefenster hinzugefügt, und die Ergebnisse werden zurückgegeben.
Schreiben von Abfragen im Abfrage-Editor: Sie können die folgenden Abfragen kopieren, einfügen und bearbeiten oder Ihre eigenen in KQL im Abfrage-Editor Ihres Log Analytics-Arbeitsbereichs schreiben.
Beispielabfragen
Diese Abfrage gibt alle Airflow-Protokolle zurück, die die Ebene ERROR aufweisen. Sie können die Ergebnisse filtern, indem Sie die Where-Klausel für den Azure Data Manager for Energy-Instanznamen und die Korrelations-ID für Ihre DAG-Läufe hinzufügen (d.h. auskommentieren).
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
Diese Abfrage listet alle DAG-Ausführungen und ihre entsprechenden Korrelations-IDs in der genannten Azure Data Manager for Energy-Ressource auf.
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
Wir haben ein Dokument hinzugefügt, das Ihnen bei der Problembehandlung Ihres Manifest-Erfassungsprozesses unter Verwendung der in Ihrem Log Analytics-Arbeitsbereich gesammelten Airflow-Protokolle hilft.
Nächste Schritte
Sie haben Ressourcenprotokolle gesammelt. Erstellen Sie nun eine Protokollabfragewarnung, um proaktiv benachrichtigt zu werden, wenn interessante Daten in Ihren Protokolldaten identifiziert werden.