Integrera Airflow-loggar med Azure Monitor

I den här artikeln får du lära dig hur du börjar samla in Airflow-loggar för dina Microsoft Azure Data Manager for Energy-instanser i Azure Monitor. Den här integreringsfunktionen hjälper dig att felsöka körningsfel i Airflow DAG (Directed Acyclic Graph).

Förutsättningar

  • En befintlig Log Analytics-arbetsyta. Den här arbetsytan används för att köra frågor mot Airflow-loggarna med frågeredigeraren Kusto-frågespråk (KQL) i Log Analytics-arbetsytan. Användbar resurs: Skapa en log analytics-arbetsyta i Azure-portalen.

  • Ett befintligt lagringskonto: Det används för att lagra JSON-dumpar av Airflow-loggar. Lagringskontot behöver inte finnas i samma prenumeration som Log Analytics-arbetsytan.

Aktivera diagnostikinställningar för att samla in loggar i ett lagringskonto

Varje Azure Data Manager for Energy-instans levereras inbyggt med en Azure Data Factory Workflow Orchestration Manager-instans (som drivs av Apache Airflow). Vi samlar in Airflow-loggar för intern felsökning och felsökning. Airflow-loggar kan integreras med Azure Monitor på följande sätt:

  • Lagringskonto
  • Log Analytics-arbetsyta

Om du vill komma åt loggar via något av ovanstående två alternativ måste du skapa en diagnostikinställning. Varje diagnostikinställning har tre grundläggande delar:

Delvis beskrivning
Name Det här är namnet på diagnostikloggen. Kontrollera att ett unikt namn har angetts för varje logg.
Kategorier Kategori av loggar som ska skickas till vart och ett av målen. Uppsättningen kategorier varierar för varje Azure-tjänst. Besök: Resursloggkategorier som stöds
Destinationer Ett eller flera mål för att skicka loggarna. Alla Azure-tjänster delar samma uppsättning möjliga mål. Varje diagnostikinställning kan definiera ett eller flera mål, men inte fler än ett mål av en viss typ. Det ska vara ett lagringskonto, ett Event Hubs-namnområde eller en händelsehubb.

Följ följande steg för att konfigurera diagnostik Inställningar:

  1. Öppna översiktssidan för Microsoft Azure Data Manager for Energy

  2. Välj Diagnostik Inställningar i den vänstra panelen

    Skärmbild av översiktssidan för Diagnostikinställning för Azure Monitor. Sidan visar en lista över befintliga diagnostikinställningar och alternativet att lägga till en ny.

  3. Välj Lägg till diagnostikinställning

  4. Välj Airflow-aktivitetsloggar under Loggar

  5. Välj Arkivera till ett lagringskonto

    Skärmbild för att skapa en diagnostikinställning för att arkivera loggar till ett lagringskonto. Bilden visar prenumerationen och lagringskontot som valts för en diagnostikinställning.

  6. Kontrollera prenumerationen och lagringskontot som du vill arkivera loggarna till.

När en diagnostikinställning har skapats för arkivering av Airflow-aktivitetsloggar till ett lagringskonto kan du gå till översiktssidan för lagringskontot. Du kan sedan använda "Storage Browser" på den vänstra panelen för att hitta rätt JSON-fil som du vill undersöka. Att bläddra igenom olika kataloger är intuitivt när du går från ett år till en månad till en dag.

  1. Navigera genom Containrar, som är tillgängliga på den vänstra panelen.

    Skärmbild för att utforska arkiverade loggar i containrarna för lagringskontot. Containern visar loggar från alla källor som har konfigurerats.

  2. Öppna informationsfönstret till höger. Den innehåller en "nedladdningsknapp" för att spara loggfilen lokalt.

  3. Nedladdade loggar kan analyseras i valfri redigerare.

Aktivera diagnostikinställningar för att integrera loggar med Log Analytics-arbetsyta

Du kan integrera Airflow-loggar med Log Analytics-arbetsytan med hjälp av diagnostik Inställningar under den vänstra panelen på översiktssidan för Microsoft Azure Data Manager for Energy-instansen.

Skärmbild för att skapa en diagnostikinställning. Den visar alternativen för att välja prenumeration och Log Analytics-arbetsyta som du vill integrera med.

Arbeta med de integrerade Airflow-loggarna i Log Analytics-arbetsytan

Använd Kusto-frågespråk (KQL) för att hämta önskade data om insamlade Airflow-loggar från Din Log Analytics-arbetsyta. Du kan antingen läsa in de fördefinierade exempelfrågorna till Din Log Analytics-arbetsyta eller skapa egna frågor.

Skärmbild för Azure Monitor Log Analytics-sidan för visning av insamlade loggar. Under logghantering visas tabeller från alla källor.

  1. Läser in fördefinierade frågor: Välj Loggar på resursens meny. Log Analytics öppnas med fönstret Frågor som innehåller fördefinierade frågor för din resurstyp. Bläddra bland de tillgängliga frågorna. Identifiera den som ska köras och välj Kör. Frågan läggs till i frågefönstret och resultatet returneras.

  2. Skriva frågor i frågeredigeraren: Du kan kopiera, klistra in och redigera följande frågor eller skriva egna frågor i KQL på Power Query-redigeraren i Log Analytics-arbetsytan.

Exempelfrågor

Den här frågan returnerar alla Airflow-loggar som har nivåFEL. Du kan filtrera resultaten genom att lägga till (avkommentera) där -satsen för Azure Data Manager for Energy-instansens namn och korrelations-ID för dina DAG-körningar läggs till.


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

Den här frågan visar alla DAG-körningar och deras motsvarande korrelations-ID:n i den nämnda Azure Data Manager for Energy-resursen.


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

Vi har lagt till dokument som hjälper dig att felsöka din manifestinmatningsprocess med hjälp av Airflow-loggarna som samlats in på Din Log Analytics-arbetsyta.

Nästa steg

Nu när du samlar in resursloggar skapar du en loggfrågeavisering som ska meddelas proaktivt när intressanta data identifieras i dina loggdata.