Udostępnij za pośrednictwem


Integrowanie dzienników usługi Airflow z usługą Azure Monitor

W tym artykule dowiesz się, jak rozpocząć zbieranie dzienników przepływu powietrza dla wystąpień usługi Microsoft Azure Data Manager for Energy w usłudze Azure Monitor. Ta funkcja integracji ułatwia debugowanie błędów uruchamiania narzędzia Airflow DAG (skierowanego grafu Acyklicznego).

Wymagania wstępne

  • Istniejący obszar roboczy usługi Log Analytics. Ten obszar roboczy będzie używany do wykonywania zapytań dotyczących dzienników przepływu powietrza przy użyciu edytora zapytań język zapytań Kusto (KQL) w obszarze roboczym usługi Log Analytics. Przydatny zasób: tworzenie obszaru roboczego usługi Log Analytics w witrynie Azure Portal.

  • Istniejące konto magazynu: będzie ono używane do przechowywania zrzutów JSON dzienników airflow. Konto magazynu nie musi znajdować się w tej samej subskrypcji co obszar roboczy usługi Log Analytics.

Włączanie ustawień diagnostycznych w celu zbierania dzienników na koncie magazynu

Każde wystąpienie usługi Azure Data Manager for Energy jest wbudowane przy użyciu wystąpienia programu Azure Data Factory Workflow Orchestration Manager (obsługiwanego przez platformę Apache Airflow). Zbieramy dzienniki przepływów powietrza na potrzeby wewnętrznego rozwiązywania problemów i debugowania. Dzienniki przepływu powietrza można zintegrować z usługą Azure Monitor w następujący sposób:

  • Konto magazynu
  • Obszar roboczy usługi Log Analytics

Aby uzyskać dostęp do dzienników za pośrednictwem dowolnej z powyższych dwóch opcji, musisz utworzyć ustawienie diagnostyczne. Każde ustawienie diagnostyczne ma trzy podstawowe części:

Element opis
Nazwa/nazwisko Jest to nazwa dziennika diagnostycznego. Upewnij się, że dla każdego dziennika ustawiono unikatową nazwę.
Kategorie Kategoria dzienników do wysłania do każdego z miejsc docelowych. Zestaw kategorii będzie się różnić dla każdej usługi platformy Azure. Odwiedź stronę: Obsługiwane kategorie dzienników zasobów
Miejsca docelowe Co najmniej jedno miejsce docelowe do wysyłania dzienników. Wszystkie usługi platformy Azure współdzielą ten sam zestaw możliwych miejsc docelowych. Każde ustawienie diagnostyczne może definiować co najmniej jedno miejsce docelowe, ale nie więcej niż jedno miejsce docelowe określonego typu. Powinno to być konto magazynu, przestrzeń nazw usługi Event Hubs lub centrum zdarzeń.

Wykonaj następujące kroki, aby skonfigurować ustawienia diagnostyczne:

  1. Otwórz stronę przeglądu usługi Microsoft Azure Data Manager for Energy

  2. Wybierz pozycję Ustawienia diagnostyczne w panelu po lewej stronie

    Zrzut ekranu przedstawiający stronę przeglądu ustawień diagnostycznych usługi Azure Monitor. Na stronie zostanie wyświetlona lista istniejących ustawień diagnostycznych i opcja dodania nowego.

  3. Wybierz pozycję Dodaj ustawienie diagnostyczne

  4. Wybierz pozycję Dzienniki zadań przepływu powietrza w obszarze Dzienniki

  5. Wybierz pozycję Archiwum na koncie magazynu

    Zrzut ekranu przedstawiający tworzenie ustawienia diagnostycznego w celu archiwizowania dzienników na koncie magazynu. Obraz przedstawia subskrypcję i konto magazynu wybrane dla ustawienia diagnostycznego.

  6. Sprawdź subskrypcję i konto magazynu, do którego chcesz zarchiwizować dzienniki.

Po utworzeniu ustawienia diagnostycznego na potrzeby archiwizowania dzienników zadań Airflow na koncie magazynu możesz przejść do strony przeglądu konta magazynu. Następnie możesz użyć "Przeglądarki magazynu" na panelu po lewej stronie, aby znaleźć odpowiedni plik JSON, który chcesz zbadać. Przeglądanie różnych katalogów jest intuicyjne w miarę przechodzenia z roku do miesiąca do dnia.

  1. Przejdź do obszaru Kontenery dostępne w panelu po lewej stronie.

    Zrzut ekranu przedstawiający eksplorowanie zarchiwizowanych dzienników w kontenerach konta magazynu. Kontener wyświetli dzienniki ze wszystkich skonfigurowanych źródeł.

  2. Otwórz okienko informacji po prawej stronie. Zawiera on przycisk "pobierz", aby zapisać plik dziennika lokalnie.

  3. Pobrane dzienniki można analizować w dowolnym edytorze.

Włączanie ustawień diagnostycznych w celu zintegrowania dzienników z obszarem roboczym usługi Log Analytics

Dzienniki airflow można zintegrować z obszarem roboczym usługi Log Analytics przy użyciu ustawień diagnostycznych w lewym panelu strony przeglądu wystąpienia usługi Microsoft Azure Data Manager for Energy.

Zrzut ekranu przedstawiający tworzenie ustawienia diagnostycznego. Przedstawia opcje wybierania subskrypcji i obszaru roboczego usługi Log Analytics, z którymi chcesz się zintegrować.

Praca ze zintegrowanymi dziennikami przepływu powietrza w obszarze roboczym usługi Log Analytics

Użyj język zapytań Kusto (KQL), aby pobrać żądane dane z zebranych dzienników przepływu powietrza z obszaru roboczego usługi Log Analytics. Możesz załadować wstępnie utworzone przykładowe zapytania do obszaru roboczego usługi Log Analytics lub utworzyć własne zapytania.

Zrzut ekranu przedstawiający stronę usługi Azure Monitor Log Analytics do wyświetlania zebranych dzienników. W obszarze zarządzanie dziennikami tabele ze wszystkich źródeł będą widoczne.

  1. Ładowanie wstępnie utworzonych zapytań: wybierz pozycję Dzienniki z menu zasobu. Usługa Log Analytics zostanie otwarta z oknem Zapytania zawierającym wstępnie utworzone zapytania dotyczące typu zasobu. Przejrzyj dostępne zapytania. Zidentyfikuj ten, który ma zostać uruchomiony, i wybierz pozycję Uruchom. Zapytanie jest dodawane do okna zapytania, a wyniki są zwracane.

  2. Pisanie zapytań w edytorze zapytań: możesz kopiować, wklejać i edytować następujące zapytania lub pisać własne w języku KQL na Edytor Power Query obszaru roboczego usługi Log Analytics.

Przykładowe zapytania

To zapytanie zwraca wszystkie dzienniki przepływu powietrza, które są na poziomie ERROR. Wyniki można filtrować, dodając klauzulę where (uncommenting) dla nazwy wystąpienia usługi Azure Data Manager for Energy i identyfikator korelacji dla przebiegów 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

To zapytanie zawiera listę wszystkich przebiegów daG i ich odpowiednich identyfikatorów korelacji we wspomnianym zasobie usługi Azure Data Manager for Energy.


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

Dodaliśmy dokument ułatwiając rozwiązywanie problemów z procesem pozyskiwania manifestu przy użyciu dzienników przepływu powietrza zebranych w obszarze roboczym usługi Log Analytics.

Następne kroki

Teraz, gdy zbierasz dzienniki zasobów, utwórz alert zapytania dziennika, który będzie proaktywnie powiadamiany, gdy interesujące dane są identyfikowane w danych dziennika.