Probleme mit dem Airflow-Webserver beheben

Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)

Auf dieser Seite finden Sie Schritte zur Fehlerbehebung und Informationen zu häufigen Problemen mit dem Airflow-Webserver.

Der Airflow-Webserver ist eine Airflow-Komponente, die eine Benutzeroberfläche zum Verwalten von Airflow-DAGs und -Aufgaben bietet. Auf dieser Seite werden Schritte zur Fehlerbehebung für verschiedene Probleme beim Zugriff auf den Airflow-Webserver Ihrer Umgebung oder für Webserver-bezogene Warnungen beschrieben, die in Airflow-Logs sichtbar sind.

Kein Zugriff auf die Airflow-UI, wenn die Netzwerkzugriffskontrolle aktiviert ist

Symptom: Nachdem die Zugriffskontrolle für Webserver konfiguriert wurde, ist kein Zugriff auf die Airflow-UI möglich. In dieser Situation wird in der Regel der Fehlercode 403 angezeigt.

Informationen zum Problem: Managed Airflow unterstützt die Netzwerkzugriffskontrolle für Webserver, damit Sie IP-Bereiche angeben können, die eine Verbindung zum Webserver herstellen dürfen.

Probleme beim Zugriff auf die Airflow-UI führen in der Regel zu Fehler 403. So prüfen Sie, ob der Fehler mit der Netzwerkzugriffskontrolle für Webserver zusammenhängt:

  1. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
  2. Rufen Sie den Tab Umgebungskonfiguration auf.
  3. Prüfen Sie, ob für das Element Zugriffssteuerung für Webserver die Option Alle IP-Adressen haben Zugriff (Standard) festgelegt ist.
  4. Wenn ein anderer Wert als Alle IP-Adressen haben Zugriff (Standard) konfiguriert ist, ist die Netzwerk-Zugriffssteuerung aktiviert und die Sichtbarkeit der Airflow-UI ist auf die angegebenen IPv4- und IPv6-Adressbereiche beschränkt. In diesem Fall hängt das Problem möglicherweise mit der Netzwerkzugriffskontrolle für Webserver zusammen.

In den meisten Fällen liegt die Ursache des Problems in einer Diskrepanz zwischen der von Ihnen angegebenen IP-Adresse und der IP-Adresse, die tatsächlich aufgelöst wird, um eine Verbindung zur Airflow-UI herzustellen. So beheben Sie das Problem:

  1. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  2. Rufen Sie den Tab Umgebungskonfiguration auf.

  3. Suchen Sie das Element Zugriffssteuerung für Webserver und klicken Sie auf Bearbeiten.

  4. Wählen Sie im Dialogfeld Netzwerkzugriffssteuerung für Webserver die Option Zugriff über alle IP-Adressen zulassen aus.

  5. Greifen Sie mehrmals auf die Airflow-UI zu und prüfen Sie, ob sie ohne Probleme funktioniert:

    • Wenn keine Probleme auftreten, fahren Sie mit dem nächsten Schritt fort.

    • Wenn an dieser Stelle ein Problem auftritt, hängt es möglicherweise mit der Konfiguration Ihrer IAM-Berechtigungen zusammen. Weitere Informationen zu den IAM-Berechtigungen für Managed Airflow finden Sie unter Zugriffssteuerung.

  6. Wählen Sie im Dialogfeld Zugriffssteuerung für Webserver-Netzwerke die Option Zugriff nur von bestimmten IP-Adressen zulassen aus.

  7. Fügen Sie den IP-Bereich 0.0.0.0/0 hinzu, greifen Sie mehrmals auf die Airflow-UI zu und prüfen Sie, ob sie ohne Probleme funktioniert:

    • Wenn keine Probleme auftreten, ist die IP-Adresse, mit der Sie eine Verbindung herstellen, eine IPv4-Adresse.

    • Wenn an dieser Stelle ein Problem auftritt, ist die IP-Adresse, mit der Sie eine Verbindung herstellen, eine IPv6-Adresse.

  8. Löschen Sie den IP-Bereich 0.0.0.0/0 und fügen Sie den IP-Bereich ::/0 hinzu.

    • Wenn keine Probleme auftreten, ist die IP-Adresse, mit der Sie eine Verbindung herstellen, eine IPv6-Adresse.

    • Wenn an dieser Stelle ein Problem auftritt, ist die IP-Adresse, mit der Sie eine Verbindung herstellen, eine IPv4-Adresse.

  9. Jetzt haben Sie ermittelt, ob Ihre aufgelöste Adresse eine IPv4- oder IPv6-Adresse ist.

  10. Je nach Adresstyp können Sie die Bereiche ::/0 oder 0.0.0.0/0 auf spezifischere Bereiche eingrenzen, um den breitesten Bereich zu ermitteln, in dem der Zugriff nicht mehr funktioniert:

    • Sie können mit der breiten Subnetzmaske (z. B. 192.0.2.0/8) beginnen, die die Adresse enthält, die Ihrer Meinung nach Ihre IP-Adresse ist.

    • Um Ihre IP-Adresse zu ermitteln, können Sie einen Drittanbieterdienst verwenden, der Ihre externe IP-Adresse anzeigt, wenn Sie die entsprechende Seite aufrufen. Sie können nach solchen Diensten suchen, indem Sie die Suchanfrage „Wie lautet meine IP-Adresse?“ verwenden.

Konfigurationswerte werden auf der Konfigurationsseite nicht angezeigt

Einige Airflow-Konfigurationsparameter sind auf der Konfigurationsseite ausgeblendet, um den Zugriff auf potenziell vertrauliche Informationen zu verhindern. Beispielsweise werden die Anmeldedaten für den Zugriff auf die Airflow-Datenbank nicht angezeigt.

Überschreiben Sie die folgende Airflow Konfigurationsoption, um ausgeblendete Felder anzuzeigen. Wir empfehlen, die Änderungen zurückzunehmen, nachdem Sie die erforderlichen Werte erhalten haben.

Bereich Schlüssel Wert Hinweise
webserver expose_config True Der Standardwert ist non-sensitive-only. Legen Sie False fest, um alle Konfigurationsparameter auszublenden.

DAG verursacht den Absturz des Airflow-Webservers oder einen „502 gateway timeout“-Fehler

Webserverausfälle können aus verschiedenen Gründen auftreten. Prüfen Sie die airflow-webserver -Logs in Cloud Logging, um die Ursache des 502 gateway timeout Fehlers zu ermitteln.

Komplexe Berechnungen

Dieser Abschnitt gilt nur für Managed Airflow (Legacy Gen 1).

Im Gegensatz zu Worker- und Scheduler-Knoten, deren Maschinentypen für eine höhere CPU- und Arbeitsspeicher-Kapazität angepasst werden können, verwendet der Webserver einen festen Maschinentyp. Dieser kann zu Fehlern beim DAG-Parsen führen, wenn dabei komplexe Berechnungen ausgeführt werden.

Beachten Sie, dass der Webserver 2 vCPUs und 2 GB Arbeitsspeicher hat. Der Standardwert für core-dagbag_import_timeout beträgt 30 Sekunden. Dieser Zeitlimitwert ist die Obergrenze für den Zeitraum, den Airflow für das Laden eines Python-Moduls in den Ordner /dags benötigt.

Falsche Berechtigungen

Dieser Abschnitt gilt nur für Managed Airflow (Legacy Gen 1).

Der Webserver wird nicht unter demselben Dienstkonto ausgeführt wie die Worker und der Planer. Worker und der Planer können somit gegebenenfalls auf vom Nutzer verwaltete Ressourcen zugreifen, auf die der Webserver keinen Zugriff hat.

Vermeiden Sie den Zugriff auf nicht öffentliche Ressourcen während der DAG-Analyse. Sollte dies nicht möglich sein, müssen Sie dem Dienstkonto des Webservers Berechtigungen erteilen. Der Name des Dienstkontos wird von der Webserverdomain abgeleitet. Wenn die Domain beispielsweise example-tp.appspot.com ist, lautet das Dienstkonto example-tp@appspot.gserviceaccount.com.

DAG-Fehler

Dieser Abschnitt gilt nur für Managed Airflow (Legacy Gen 1).

Der Webserver wird in App Engine ausgeführt und ist vom GKE-Cluster Ihrer Umgebung getrennt. Der Webserver parst die DAG-Definitionsdateien. Wenn dabei Fehler im DAG auftreten, kann es zum Fehler 502 gateway timeout kommen. Airflow arbeitet problemlos ohne einen funktionierenden Webserver, solange der problematische DAG keine in GKE ausgeführten Prozesse zum Absturz bringt. In einem solchen Fall können Sie mit gcloud composer environments run Details aus Ihrer Umgebung abrufen, und so das Problem umgehen, wenn der Webserver nicht mehr verfügbar ist.

In anderen Fällen können Sie die DAG-Analyse in GKE ausführen und nach DAGs suchen, die schwerwiegende Python-Ausnahmen oder eine Zeitüberschreitung auslösen (Standardeinstellung: 30 Sekunden). Stellen Sie zur Fehlerbehebung eine Verbindung zu einer Remote-Shell in einem Airflow-Worker-Container her und testen Sie, ob Syntaxfehler vorliegen. Weitere Informationen finden Sie unter DAGs testen.

Nächste Schritte