L'agente Airflow gestito può aiutarti a comprendere, diagnosticare e risolvere i problemi relativi alle attività Airflow e alle esecuzioni di DAG non riuscite.
Prima di iniziare
- L'API Conversational Analytics che esegue l'agente Airflow gestito ha una propria policy di residenza dei dati. La conversazione potrebbe essere gestita in una regione diversa dalla località del tuo ambiente.
Indaga sulle attività Airflow o sulle esecuzioni di DAG non riuscite
Per indagare su un'attività Airflow o un'esecuzione di DAG non riuscita:
Nella Cloud de Confiance console, vai alla pagina Ambienti.
Seleziona un ambiente per visualizzarne i dettagli.
Nella pagina Dettagli ambiente, vai alla scheda DAG.
Fai clic sul nome di un DAG.
Nella pagina Dettagli DAG, vai alla scheda Cronologia esecuzioni.
Individua un'esecuzione di DAG non riuscita. Puoi indagare su un'intera esecuzione di DAG o su un'attività specifica non riuscita:
Per indagare su un'esecuzione di DAG:
Fai clic su Indaga accanto al nome dell'esecuzione di DAG non riuscita.
Nella finestra di dialogo Indaga sull'errore di esecuzione del DAG, fai clic su Indaga.
Per indagare su un'attività Airflow:
Fai clic sul nome dell'esecuzione di DAG non riuscita per visualizzare un elenco di attività.
Nella colonna Stato dell'attività Airflow non riuscita, fai clic su Indaga.
Nella finestra di dialogo Indaga sull'errore dell'attività, fai clic su Indaga.
Si apre il riquadro Chiedi all'agente e l'agente Airflow gestito inizia a indagare sull'errore di esecuzione del DAG. Attendi che l'agente completi l'analisi, quindi esamina il report diagnostico, composto da diverse sezioni:
- Problema descrive la causa principale del problema.
- Prove indica artefatti specifici che supportano le conclusioni dell'agente.
- Consigli fornisce passaggi specifici per risolvere il problema.
Esempio di indagine
Questo esempio mostra una procedura di analisi di un'attività non riuscita.
Nella dashboard Monitoraggio > Statistiche DAG, osserva le esecuzioni di DAG non riuscite:
Figura 1. Grafico delle esecuzioni di DAG completate (fai clic per ingrandire) Vai alla scheda DAG. La colonna Esecuzioni non riuscite (1 ora) mostra che il DAG
create_large_txt_file_print_logsha avuto diverse esecuzioni non riuscite nell'ultima ora. Fai clic sul nome del DAG.
Figura 2. Elenco dei DAG con statistiche di esecuzione dei DAG (fai clic per ingrandire) Fai clic su una delle esecuzioni di DAG non riuscite, quindi fai clic su Indaga accanto alla voce dell'attività Airflow non riuscita.
Figura 3. Elenco delle attività nei DAG non riusciti (fai clic per ingrandire) Attendi che l'agente completi il report.
Esamina il report diagnostico. In questo esempio specifico, l'attività non è riuscita senza generare log, ma l'agente Airflow gestito è riuscito a trovare la causa dell'errore nei log dello scheduler Airflow, in cui l'attività è stata terminata come 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'}" * ...Infine, controlla i consigli proposti. L'agente Airflow gestito riassume le prove e fornisce consigli per risolvere il problema. In questo esempio, l'attività non è riuscita perché un worker Airflow non aveva risorse sufficienti per elaborarla. Ciò è supportato dalle prove del riavvio del pod worker più volte con un errore OOM e dalla successiva terminazione dell'attività da parte dello scheduler come attività 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.