Integrace protokolů Airflow se službou Azure Monitor

V tomto článku se dozvíte, jak začít shromažďovat protokoly Airflow pro vaše instance Microsoft Azure Data Manageru pro energetické instance do služby Azure Monitor. Tato funkce integrace vám pomůže ladit selhání spuštění dag toku Airflow (řízené acyklické grafy).

Požadavky

  • Existující pracovní prostor služby Log Analytics. Tento pracovní prostor se použije k dotazování protokolů Airflow pomocí editoru dotazů dotazovací jazyk Kusto (KQL) v pracovním prostoru služby Log Analytics. Užitečný prostředek: Vytvoření pracovního prostoru služby Log Analytics na webu Azure Portal

  • Existující účet úložiště: Použije se k ukládání výpisů JSON protokolů Airflow. Účet úložiště se nemusí nacházet ve stejném předplatném jako pracovní prostor služby Log Analytics.

Povolení nastavení diagnostiky ke shromažďování protokolů v účtu úložiště

Každá instance Azure Data Manageru pro energii se dodává s instancí Orchestration Manageru pracovních postupů služby Azure Data Factory (využívající Apache Airflow). Shromažďujeme protokoly Airflow pro účely interního řešení potíží a ladění. Protokoly airflow je možné integrovat se službou Azure Monitor následujícími způsoby:

  • Účet úložiště
  • Pracovní prostor služby Log Analytics

Pokud chcete získat přístup k protokolům prostřednictvím některé z výše uvedených dvou možností, musíte vytvořit nastavení diagnostiky. Každé nastavení diagnostiky má tři základní části:

Část Popis
Name Toto je název diagnostického protokolu. Ujistěte se, že je pro každý protokol nastavený jedinečný název.
Kategorie Kategorie protokolů, které se mají odesílat do každého cíle. Sada kategorií se bude pro každou službu Azure lišit. Navštivte: Podporované kategorie protokolu prostředků
Místa určení Jeden nebo více cílů pro odesílání protokolů. Všechny služby Azure sdílejí stejnou sadu možných cílů. Každé nastavení diagnostiky může definovat jedno nebo více cílů, ale maximálně jeden cíl konkrétního typu. Měl by to být účet úložiště, obor názvů služby Event Hubs nebo centrum událostí.

Pokud chcete nastavit diagnostické Nastavení, postupujte následovně:

  1. Otevření stránky Přehled Microsoft Azure Data Manageru pro energii

  2. Na levém panelu vyberte Diagnostické Nastavení.

    Snímek obrazovky se stránkou s přehledem nastavení diagnostiky služby Azure Monitor Na stránce se zobrazí seznam existujících nastavení diagnostiky a možnost přidání nového nastavení.

  3. Výběr možnosti Přidat nastavení diagnostiky

  4. V části Protokoly vyberte protokoly úloh Airflow.

  5. Výběr možnosti Archivovat do účtu úložiště

    Snímek obrazovky pro vytvoření nastavení diagnostiky pro archivaci protokolů do účtu úložiště Obrázek ukazuje předplatné a účet úložiště zvolené pro nastavení diagnostiky.

  6. Ověřte předplatné a účet úložiště, do kterého chcete protokoly archivovat.

Po vytvoření nastavení diagnostiky pro archivaci protokolů úloh Airflow do účtu úložiště můžete přejít na stránku přehledu účtu úložiště. Pak můžete pomocí prohlížeče úložiště na levém panelu najít správný soubor JSON, který chcete prozkoumat. Procházení různých adresářů je intuitivní při přechodu z roku na měsíc na den.

  1. Procházejte kontejnery, které jsou k dispozici na levém panelu.

    Snímek obrazovky pro zkoumání archivovaných protokolů v kontejnerech účtu úložiště Kontejner zobrazí protokoly ze všech nastavených zdrojů.

  2. Vpravo otevřete informační podokno. Obsahuje tlačítko ke stažení pro místní uložení souboru protokolu.

  3. Stažené protokoly je možné analyzovat v libovolném editoru.

Povolení nastavení diagnostiky pro integraci protokolů s pracovním prostorem služby Log Analytics

Protokoly Airflow můžete integrovat s pracovním prostorem Služby Log Analytics pomocí diagnostického Nastavení na levém panelu stránky s přehledem vaší instance Microsoft Azure Data Manageru pro energii.

Snímek obrazovky pro vytvoření nastavení diagnostiky Zobrazuje možnosti výběru předplatného a pracovního prostoru služby Log Analytics, se kterým se má integrovat.

Práce s integrovanými protokoly Airflow v pracovním prostoru služby Log Analytics

Pomocí dotazovací jazyk Kusto (KQL) načtěte požadovaná data o shromážděných protokolech Airflow z pracovního prostoru služby Log Analytics. Předem připravené ukázkové dotazy můžete buď načíst do pracovního prostoru služby Log Analytics, nebo můžete vytvořit vlastní dotazy.

Snímek obrazovky se stránkou Azure Monitor Log Analytics pro zobrazení shromážděných protokolů V rámci správy protokolů budou tabulky ze všech zdrojů viditelné.

  1. Načítání předem připravených dotazů: V nabídce vašeho prostředku vyberte protokoly. Otevře se log Analytics s oknem Dotazy , které obsahuje předem připravené dotazy pro váš typ prostředku. Projděte si dostupné dotazy. Určete, který se má spustit, a vyberte Spustit. Dotaz se přidá do okna dotazu a vrátí se výsledky.

  2. Psaní dotazů v editoru dotazů: Můžete kopírovat, vkládat a upravovat následující dotazy nebo psát vlastní dotazy v KQL na Editor Power Query pracovního prostoru služby Log Analytics.

Ukázkové dotazy

Tento dotaz vrátí všechny protokoly Airflow, které jsou na úrovni ERROR. Výsledky můžete filtrovat tak, že přidáte (nekommentujete) klauzuli where pro název instance Azure Data Manageru pro název instance energie a ID korelace pro vaše spuštění 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

Tento dotaz zobrazí seznam všech spuštění DAG a jejich odpovídající ID korelace ve zmíněném Azure Data Manageru pro energetické zdroje.


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

Přidali jsme dokument, který vám pomůže vyřešit potíže s procesem příjmu manifestu pomocí protokolů Airflow shromážděných v pracovním prostoru služby Log Analytics.

Další kroky

Teď, když shromažďujete protokoly prostředků, vytvořte upozornění na dotaz protokolu, které bude proaktivně upozorněno, když se v datech protokolu identifikují zajímavá data.