Managed Airflow Agent dapat membantu Anda memahami, mendiagnosis, dan menyelesaikan masalah terkait kegagalan tugas Airflow dan DAG berjalan.
Sebelum memulai
- Conversational Analytics API yang menjalankan Managed Airflow Agent memiliki kebijakan residensi datanya sendiri. Percakapan Anda mungkin ditangani di region yang berbeda dengan lokasi lingkungan Anda.
Menyelidiki tugas Airflow atau operasi DAG yang gagal
Untuk menyelidiki tugas Airflow atau operasi DAG yang gagal:
Di konsol Cloud de Confiance , buka halaman Environments.
Pilih lingkungan untuk melihat detailnya.
Di halaman Environment details, buka tab DAGs.
Klik nama DAG.
Di halaman DAG details, buka tab Run history.
Temukan operasi DAG yang gagal. Anda dapat menyelidiki seluruh DAG run atau tugas tertentu yang gagal:
Untuk menyelidiki operasi DAG:
Klik Selidiki di samping nama eksekusi DAG yang gagal.
Dalam dialog Selidiki kegagalan eksekusi DAG, klik Selidiki.
Untuk menyelidiki tugas Airflow:
Klik nama eksekusi DAG yang gagal untuk menampilkan daftar tugas.
Di kolom State tugas Airflow yang gagal, klik Investigate.
Dalam dialog Investigate task failure, klik Investigate.
Panel Ask agent akan terbuka dan Managed Airflow Agent mulai menyelidiki kegagalan DAG run. Tunggu hingga agen menyelesaikan analisis, lalu tinjau laporan diagnostik, yang terdiri dari beberapa bagian:
- Masalah menjelaskan penyebab utama masalah.
- Bukti mengarah pada artefak tertentu yang mendukung kesimpulan agen.
- Rekomendasi memberikan langkah-langkah spesifik untuk mengatasi masalah.
Contoh penyelidikan
Contoh ini menunjukkan proses menganalisis tugas yang gagal.
Di dasbor Monitoring > DAG Statistics, amati operasi DAG yang gagal:
Gambar 1. Grafik operasi DAG selesai (klik untuk memperbesar) Buka tab DAG. Kolom Failed runs (1h) menunjukkan bahwa DAG
create_large_txt_file_print_logsmengalami beberapa operasi yang gagal dalam satu jam terakhir. Klik nama DAG.
Gambar 2. Daftar DAG dengan statistik pengoperasian DAG (klik untuk memperbesar) Klik salah satu proses DAG yang gagal, lalu klik Selidiki di samping entri tugas Airflow yang gagal.
Gambar 3. Daftar tugas di DAG yang gagal (klik untuk memperbesar) Tunggu hingga agen menyelesaikan laporannya.
Tinjau laporan diagnostik. Dalam contoh khusus ini, tugas gagal tanpa menghasilkan log, tetapi Managed Airflow Agent dapat menemukan penyebab kegagalan dalam log penjadwal Airflow, tempat tugas dihentikan sebagai zombie:
### **1. Problem** The task `create_huge_file` in DAG `dag_simulation` failed because the Airflow worker executing it ran out of memory (OOM). This caused the task container or process to be abruptly terminated, preventing it from sending heartbeats to the scheduler. As a result, the scheduler detected it as a zombie task and marked it as failed. ### **2. Evidence** * **Scheduler Log (Zombie Detection)**: Detected a task instance without a heartbeat: filepath='dag-simulation.py' bundle_name='dags-folder' bundle_version=None msg="{'DAG Id': 'dag_simulation', 'Task Id': 'create_huge_file', 'Run Id': 'manual__2026-11-25T12:42:50.190250+00:00', 'Hostname': 'airflow-worker-2lxm2', 'External Executor Id': 'cfc98619-0de6-4699-96e6-7ba8a5a581aa'}" * ...Terakhir, periksa rekomendasi yang diusulkan. Managed Airflow Agent merangkum bukti dan memberikan rekomendasi untuk memperbaiki masalah. Dalam contoh ini, tugas gagal karena pekerja Airflow tidak memiliki cukup resource untuk memprosesnya. Hal ini didukung oleh bukti bahwa Pod pekerja dimulai ulang beberapa kali dengan error OOM, dan tugas kemudian dihentikan oleh penjadwal sebagai tugas zombie.
### **3. Recommendation** To resolve this issue, you must prevent the task from consuming unbound memory. Depending on your workflow: * **Fix Code Logic (Highly Recommended)**: Avoid loading large datasets completely into worker memory. Implement chunk-based processing or streaming, or set up explicit safety limits. For example, if you need to limit memory allocation or process in bounded batches, do not keep references to old chunks in memory: ... * **Scale Worker Memory**: If processing massive datasets in memory is unavoidable, consider upgrading the resource limits (RAM/CPU) of your Airflow worker pools or offloading the heavy processing step to external services.