Mengintegrasikan log airflow dengan Azure Monitor

Dalam artikel ini, Anda akan mempelajari cara mulai mengumpulkan Log Airflow untuk instans Microsoft Azure Data Manager for Energy Anda ke Azure Monitor. Fitur integrasi ini membantu Anda men-debug kegagalan eksekusi Airflow DAG (Directed Acyclic Graph).

Prasyarat

  • Ruang Kerja Analitik Log yang sudah ada. Ruang kerja ini akan digunakan untuk mengkueri log Airflow menggunakan editor kueri Bahasa Kueri Kusto (KQL) di Ruang Kerja Analitik Log. Sumber Daya yang Berguna: Buat ruang kerja analitik log di portal Azure.

  • Akun penyimpanan yang ada: Ini akan digunakan untuk menyimpan cadangan JSON log Airflow. Akun penyimpanan tidak harus dalam langganan yang sama dengan ruang kerja Analitik Log Anda.

Mengaktifkan pengaturan diagnostik untuk mengumpulkan log di akun penyimpanan

Setiap instans Azure Data Manager for Energy dibangun dengan instans Azure Data Factory Workflow Orchestration Manager (didukung oleh Apache Airflow). Kami mengumpulkan log Airflow untuk tujuan pemecahan masalah dan penelusuran kesalahan internal. Log Airflow dapat diintegrasikan dengan Azure Monitor dengan cara berikut:

  • Akun Penyimpanan
  • Ruang kerja Analitik Log

Untuk mengakses log melalui salah satu dari dua opsi di atas, Anda perlu membuat Pengaturan Diagnostik. Setiap Pengaturan Diagnostik memiliki tiga bagian dasar:

Bagian Deskripsi
Nama Ini adalah nama log diagnostik. Pastikan nama unik diatur untuk setiap log.
Kategori Kategori log untuk dikirim ke masing-masing tujuan. Kumpulan kategori akan bervariasi untuk setiap layanan Azure. Kunjungi: Kategori Log Sumber Daya yang Didukung
Tujuan Satu atau beberapa tujuan untuk mengirim log. Semua layanan Azure memiliki kemungkinan tujuan yang sama. Setiap setelan diagnostik dapat menentukan satu atau beberapa tujuan, tapi tidak lebih dari satu tujuan dengan jenis tertentu. Ini harus berupa akun penyimpanan, namespace Layanan Azure Event Hubs, atau hub peristiwa.

Ikuti langkah-langkah berikut untuk menyiapkan Pengaturan Diagnostik:

  1. Buka halaman Gambaran Umum Microsoft Azure Data Manager for Energy

  2. Pilih Diagnostik Pengaturan dari panel kiri

    Cuplikan layar untuk halaman gambaran umum pengaturan diagnostik Azure monitor. Halaman memperlihatkan daftar pengaturan diagnostik yang sudah ada dan opsi untuk menambahkan yang baru.

  3. Pilih Tambahkan pengaturan diagnostik

  4. Pilih Log Tugas Airflow di bawah Log

  5. Pilih Arsipkan ke akun penyimpanan

    Cuplikan layar untuk membuat pengaturan diagnostik untuk mengarsipkan log ke akun penyimpanan. Gambar menunjukkan langganan dan akun penyimpanan yang dipilih untuk pengaturan diagnostik.

  6. Verifikasi langganan dan akun penyimpanan tempat Anda ingin mengarsipkan log.

Setelah pengaturan diagnostik dibuat untuk mengarsipkan log tugas Airflow ke akun penyimpanan, Anda dapat menavigasi ke halaman gambaran umum akun penyimpanan. Anda kemudian dapat menggunakan "Browser Penyimpanan" di panel kiri untuk menemukan file JSON kanan yang ingin Anda selidiki. Menelusuri direktori yang berbeda intuitif saat Anda berpindah dari satu tahun ke sebulan ke hari.

  1. Navigasikan melalui Kontainer, tersedia di panel kiri.

    Cuplikan layar untuk menjelajahi log yang diarsipkan dalam kontainer Akun Penyimpanan. Kontainer akan menampilkan log dari semua sumber yang disiapkan.

  2. Buka panel informasi di sebelah kanan. Ini berisi tombol "unduh" untuk menyimpan file log secara lokal.

  3. Log yang diunduh dapat dianalisis di editor apa pun.

Mengaktifkan pengaturan diagnostik untuk mengintegrasikan log dengan Ruang Kerja Analitik Log

Anda dapat mengintegrasikan log Airflow dengan Ruang Kerja Analitik Log dengan menggunakan Pengaturan Diagnostik di bawah panel kiri halaman gambaran umum instans Microsoft Azure Data Manager for Energy Anda.

Cuplikan layar untuk membuat pengaturan diagnostik. Ini menunjukkan opsi untuk memilih langganan & Ruang Kerja Analitik Log yang akan diintegrasikan.

Bekerja dengan Log Airflow terintegrasi di Ruang Kerja Analitik Log

Gunakan Bahasa Kueri Kusto (KQL) untuk mengambil data yang diinginkan pada log Airflow yang dikumpulkan dari Ruang Kerja Analitik Log Anda. Anda dapat memuat kueri sampel bawaan ke Ruang Kerja Analitik Log atau membuat kueri Anda sendiri.

Cuplikan layar untuk halaman Analitik Log Azure Monitor untuk menampilkan log yang dikumpulkan. Di bawah manajemen log, tabel dari semua sumber akan terlihat.

  1. Memuat kueri bawaan: Pilih Log dari menu sumber daya Anda. Analitik Log terbuka dengan jendela Kueri yang menyertakan kueri bawaan untuk jenis sumber daya Anda. Telusuri kueri yang tersedia. Identifikasi yang akan dijalankan dan pilih Jalankan. Kueri ditambahkan ke jendela kueri dan hasilnya dikembalikan.

  2. Menulis kueri di editor Kueri: Anda dapat menyalin, menempelkan, dan mengedit kueri berikut atau menulis kueri Anda sendiri di KQL di Editor Kueri Ruang Kerja Analitik Log Anda.

Kueri Sampel

Kueri ini mengembalikan semua log Airflow yang merupakan kesalahan tingkat. Anda dapat memfilter hasil dengan menambahkan (tidak berkomentar) di mana klausul untuk nama instans Azure Data Manager for Energy dan ID korelasi untuk DAG Anda berjalan.


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

Kueri ini mencantumkan semua eksekusi DAG dan ID korelasi yang sesuai dalam sumber daya Azure Data Manager for Energy yang disebutkan.


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

Kami telah menambahkan dokumen untuk membantu Anda memecahkan masalah proses penyerapan manifes menggunakan log Airflow yang dikumpulkan di Ruang Kerja Analitik Log Anda.

Langkah berikutnya

Sekarang setelah Anda mengumpulkan log sumber daya, buat pemberitahuan kueri log untuk diberi tahu secara proaktif saat data menarik diidentifikasi dalam data log Anda.