Fehlerbehebung bei Airflow-Tasks und DAG-Ausführungen mit dem Managed Airflow-Agent

Der Managed Airflow-Agent kann Ihnen helfen, Probleme mit fehlgeschlagenen Airflow-Aufgaben und DAG-Ausführungen zu verstehen, zu diagnostizieren und zu beheben.

Hinweis

  • Die Conversational Analytics API, die den Managed Airflow-Agent ausführt, hat eine eigene Richtlinie zum Datenstandort. Ihre Unterhaltung wird möglicherweise in einer Region verarbeitet, die sich vom Standort Ihrer Umgebung unterscheidet.

Fehlgeschlagene Airflow-Aufgaben oder DAG-Ausführungen untersuchen

So untersuchen Sie eine fehlgeschlagene Airflow-Aufgabe oder DAG-Ausführung:

  1. Rufen Sie in der Cloud de Confiance Console die Seite Umgebungen auf.

    Zu Umgebungen

  2. Wählen Sie eine Umgebung aus, um die Details aufzurufen.

  3. Rufen Sie auf der Seite Umgebungsdetails den Tab DAGs auf.

  4. Klicken Sie auf den Namen eines DAG.

  5. Rufen Sie auf der Seite DAG-Details den Tab Ausführungsverlauf auf.

  6. Suchen Sie nach einer fehlgeschlagenen DAG-Ausführung. Sie können eine ganze DAG-Ausführung oder eine bestimmte fehlgeschlagene Aufgabe untersuchen:

    • So untersuchen Sie eine DAG-Ausführung:

      1. Klicken Sie neben dem Namen der fehlgeschlagenen DAG-Ausführung auf Untersuchen.

      2. Klicken Sie im Dialogfeld Fehler bei DAG-Ausführung untersuchen auf Untersuchen.

    • So untersuchen Sie eine Airflow-Aufgabe:

      1. Klicken Sie auf den Namen der fehlgeschlagenen DAG-Ausführung, um eine Liste der Aufgaben aufzurufen.

      2. Klicken Sie in der Spalte Status der fehlgeschlagenen Airflow-Aufgabe auf Untersuchen.

      3. Klicken Sie im Dialogfeld Taskfehler untersuchen auf Untersuchen.

  7. Der Bereich Agent fragen wird geöffnet und der Managed Airflow-Agent beginnt mit der Untersuchung des Fehlers bei der DAG-Ausführung. Warten Sie, bis der Agent die Analyse abgeschlossen hat, und sehen Sie sich dann den Diagnosebericht an, der aus mehreren Abschnitten besteht:

    • Unter Problem wird die Grundursache des Problems beschrieben.
    • Unter Nachweis werden bestimmte Artefakte genannt, die die Schlussfolgerungen des Agents unterstützen.
    • Unter Empfehlung finden Sie konkrete Schritte zur Behebung des Problems.

Beispiel für eine Untersuchung

In diesem Beispiel wird der Prozess der Analyse einer fehlgeschlagenen Aufgabe gezeigt.

  1. Beobachten Sie im Dashboard Monitoring > DAG-Statistiken die fehlgeschlagenen DAG-Ausführungen:

    Im Diagramm „Abgeschlossene DAG-Ausführungen“ im Monitoring-Dashboard sind mehrere fehlgeschlagene DAG-Ausführungen zu sehen.
    Abbildung 1 Diagramm der abgeschlossenen DAG-Ausführungen (zum Vergrößern klicken)
  2. Rufen Sie den Tab DAGs auf. In der Spalte Fehlgeschlagene Ausführungen (1 Stunde) sehen Sie, dass der DAG create_large_txt_file_print_logs in der letzten Stunde mehrere fehlgeschlagene Ausführungen hatte. Klicken Sie auf den Namen des DAG.

    In der Liste der DAGs werden fehlgeschlagene DAG-Ausführungen für den DAG „create_large_txt_file_print_logs“ angezeigt.
    Abbildung 2 Liste der DAGs mit Statistiken zu DAG-Ausführungen (zum Vergrößern klicken)
  3. Klicken Sie auf eine der fehlgeschlagenen DAG-Ausführungen und dann neben dem Eintrag für die fehlgeschlagene Airflow-Aufgabe auf Untersuchen.

    In der Liste der Aufgaben in einem DAG wird eine fehlgeschlagene Airflow-Aufgabe mit einer Schaltfläche „Untersuchen“ daneben angezeigt.
    Abbildung 3 Liste der Aufgaben in den fehlgeschlagenen DAGs (zum Vergrößern klicken)
  4. Warten Sie, bis der Agent den Bericht fertiggestellt hat.

  5. Sehen Sie sich den Diagnosebericht an. In diesem Beispiel ist die Aufgabe fehlgeschlagen, ohne Logs zu generieren. Der Managed Airflow-Agent konnte die Ursache des Fehlers jedoch in den Airflow-Scheduler-Logs finden, wo die Aufgabe als Zombie beendet wurde:

    ### **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. Sehen Sie sich schließlich die vorgeschlagenen Empfehlungen an. Der Managed Airflow-Agent fasst die Nachweise zusammen und gibt Empfehlungen zur Behebung des Problems. In diesem Beispiel ist die Aufgabe fehlgeschlagen, weil ein Airflow-Worker nicht genügend Ressourcen für die Verarbeitung hatte. Dies wird durch den Nachweis unterstützt, dass der Worker-Pod mehrmals mit einem OOM-Fehler neu gestartet wurde und die Aufgabe anschließend vom Scheduler als Zombie-Aufgabe beendet wurde.

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

Nächste Schritte