Risolvere i problemi relativi alle attività Airflow e alle esecuzioni DAG con l'agente Managed Airflow

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:

  1. Nella Cloud de Confiance console, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Seleziona un ambiente per visualizzarne i dettagli.

  3. Nella pagina Dettagli ambiente, vai alla scheda DAG.

  4. Fai clic sul nome di un DAG.

  5. Nella pagina Dettagli DAG, vai alla scheda Cronologia esecuzioni.

  6. 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:

      1. Fai clic su Indaga accanto al nome dell'esecuzione di DAG non riuscita.

      2. Nella finestra di dialogo Indaga sull'errore di esecuzione del DAG, fai clic su Indaga.

    • Per indagare su un'attività Airflow:

      1. Fai clic sul nome dell'esecuzione di DAG non riuscita per visualizzare un elenco di attività.

      2. Nella colonna Stato dell'attività Airflow non riuscita, fai clic su Indaga.

      3. Nella finestra di dialogo Indaga sull'errore dell'attività, fai clic su Indaga.

  7. 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.

  1. Nella dashboard Monitoraggio > Statistiche DAG, osserva le esecuzioni di DAG non riuscite:

    Il grafico Esecuzioni di DAG completate nella dashboard di Monitoring mostra
    diverse esecuzioni di DAG non riuscite
    Figura 1. Grafico delle esecuzioni di DAG completate (fai clic per ingrandire)
  2. Vai alla scheda DAG. La colonna Esecuzioni non riuscite (1 ora) mostra che il DAG create_large_txt_file_print_logs ha avuto diverse esecuzioni non riuscite nell'ultima ora. Fai clic sul nome del DAG.

    L'elenco dei DAG mostra le esecuzioni di DAG non riuscite per il DAG
    create_large_txt_file_print_logs
    Figura 2. Elenco dei DAG con statistiche di esecuzione dei DAG (fai clic per ingrandire)
  3. Fai clic su una delle esecuzioni di DAG non riuscite, quindi fai clic su Indaga accanto alla voce dell'attività Airflow non riuscita.

    L'elenco delle attività in un DAG mostra un'attività Airflow non riuscita con un
    pulsante Indaga accanto
    Figura 3. Elenco delle attività nei DAG non riusciti (fai clic per ingrandire)
  4. Attendi che l'agente completi il report.

  5. 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'}"
    
    *  ...
    
  6. 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.
    

Passaggi successivi