Managed Airflow (terza generazione) | Managed Airflow (seconda generazione) | Managed Airflow (prima generazione legacy)
Questa pagina fornisce passaggi e informazioni per la risoluzione dei problemi comuni del server web Airflow.
Il server web Airflow è un componente di Airflow che fornisce un'interfaccia utente per la gestione di DAG e attività di Airflow. Questa pagina descrive i passaggi per la risoluzione dei problemi relativi all'accesso al server web Airflow del tuo ambiente o per gli avvisi relativi al server web visibili nei log di Airflow.
Impossibile accedere all'interfaccia utente di Airflow quando i controlli dell'accesso alla rete sono abilitati
Sintomo: dopo aver configurato i controlli dell'accesso al server web, non è possibile accedere all'interfaccia utente di Airflow. In genere, il codice di errore visualizzato in questa situazione è 403.
Informazioni sul problema: Managed Airflow supporta i controlli dell'accesso alla rete del server web, che consentono di specificare gli intervalli IP autorizzati a connettersi al server web.
I problemi di accesso all'interfaccia utente di Airflow in genere generano l'errore 403. Per verificare se l'errore è correlato ai controlli dell'accesso alla rete del server web:
- Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Viene visualizzata la pagina Dettagli ambiente.
- Vai alla scheda Configurazione ambiente.
- Verifica se l'elemento Controllo dell'accesso al server web è impostato su Tutti gli indirizzi IP hanno accesso (impostazione predefinita).
- Se è configurato un valore diverso da Tutti gli indirizzi IP hanno accesso (impostazione predefinita), il controllo dell'accesso alla rete è abilitato e la visibilità dell'interfaccia utente di Airflow è limitata agli intervalli di indirizzi IPv4 e IPv6 forniti. In questo caso, il problema potrebbe essere correlato ai controlli dell'accesso alla rete del server web.
Nella maggior parte dei casi, la causa del problema è la mancata corrispondenza tra l'IP previsto che hai specificato e l'IP a cui viene effettivamente risolto per connettersi all'interfaccia utente di Airflow. Per risolvere il problema:
Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Viene visualizzata la pagina Dettagli ambiente.
Vai alla scheda Configurazione ambiente.
Trova l'elemento Controllo dell'accesso al server web e fai clic su Modifica.
Nella finestra di dialogo Controllo dell'accesso alla rete del server web, seleziona Consenti l'accesso da tutti gli indirizzi IP.
Accedi più volte all'interfaccia utente di Airflow e verifica che funzioni senza problemi:
Se non riscontri problemi, vai al passaggio successivo.
Se riscontri un problema a questo punto, significa che potrebbe essere correlato alla configurazione delle autorizzazioni IAM. Per saperne di più sulle autorizzazioni IAM per Managed Airflow, consulta Controllo dell'accesso.
Nella finestra di dialogo Controllo dell'accesso alla rete del server web, seleziona Consenti l'accesso solo da indirizzi IP specifici.
Aggiungi l'intervallo IP
0.0.0.0/0, quindi accedi più volte all'interfaccia utente di Airflow e verifica che funzioni senza problemi:Se non riscontri problemi, l'IP con cui ti stai connettendo è un indirizzo IPv4.
Se riscontri un problema a questo punto, significa che l'IP con cui ti stai connettendo è un indirizzo IPv6.
Elimina l'intervallo IP
0.0.0.0/0e aggiungi l'intervallo IP::/0.Se non riscontri problemi, l'IP con cui ti stai connettendo è un indirizzo IPv6.
Se riscontri un problema a questo punto, significa che l'IP con cui ti stai connettendo è un indirizzo IPv4.
Ora hai determinato se l'indirizzo risolto è IPv4 o IPv6.
A seconda del tipo di indirizzo, restringi gli intervalli
::/0o0.0.0.0/0a intervalli più specifici, per verificare l'intervallo più ampio quando l'accesso smette di funzionare:Puoi iniziare con la subnet mask ampia (ad esempio
192.0.2.0/8) che include l'indirizzo che ritieni sia il tuo indirizzo IP.Per determinare il tuo indirizzo IP, puoi utilizzare un servizio di terze parti che fornisce il tuo indirizzo IP esterno quando visiti la sua pagina. Puoi cercare questi servizi utilizzando la query di ricerca "qual è il mio indirizzo IP".
I valori di configurazione non vengono visualizzati nella pagina di configurazione
Alcuni parametri di configurazione di Airflow sono nascosti nella pagina di configurazione per impedire l'accesso a informazioni potenzialmente sensibili. Ad esempio, le credenziali per accedere al database Airflow non vengono visualizzate.
Per visualizzare i campi nascosti, esegui l'override della seguente opzione di configurazione di Airflow. Ti consigliamo di ripristinare le modifiche dopo aver ottenuto i valori richiesti.
| Sezione | Chiave | Valore | Note |
|---|---|---|---|
webserver
|
expose_config
|
True
|
Il valore predefinito è non-sensitive-only. Imposta su False per nascondere tutti i parametri di configurazione. |
Il DAG blocca il server web Airflow o fa in modo che restituisca un errore "502 gateway timeout"
Gli errori del server web possono verificarsi per diversi motivi. Controlla
i log airflow-webserver in
Cloud Logging per determinare la causa dell'
502 gateway timeout errore.
Calcolo del carico elevato
Questa sezione si applica solo a Managed Airflow (prima generazione legacy).
A differenza dei nodi worker e scheduler, i cui tipi di macchine possono essere personalizzati per avere una maggiore capacità di CPU e memoria, il server web utilizza un tipo di macchina fisso, che può causare errori di analisi dei DAG se il calcolo in fase di analisi è troppo elevato.
Tieni presente che il server web ha 2 vCPU e 2 GB di memoria.
Il valore predefinito di core-dagbag_import_timeout è 30 secondi. Questo valore di timeout definisce il limite massimo di tempo che Airflow impiega per caricare un modulo Python nella cartella /dags.
Autorizzazioni errate
Questa sezione si applica solo a Managed Airflow (prima generazione legacy).
Il server web non viene eseguito con lo stesso account di servizio dei worker e dello scheduler. Di conseguenza, i worker e lo scheduler potrebbero essere in grado di accedere alle risorse gestite dall'utente a cui il server web non può accedere.
Ti consigliamo di evitare di accedere a risorse non pubbliche durante l'analisi dei DAG. A volte, questo è inevitabile e dovrai concedere le autorizzazioni al account di servizio del server web. Il nome del service account deriva dal dominio del server web. Ad esempio, se il dominio è example-tp.appspot.com, il account di servizio è example-tp@appspot.gserviceaccount.com.
Errori DAG
Questa sezione si applica solo a Managed Airflow (prima generazione legacy).
Il server web viene eseguito su App Engine ed è separato dal cluster GKE del tuo ambiente. Il server web analizza i file di definizione dei DAG e può verificarsi un 502 gateway timeout se sono presenti errori nel DAG. Airflow funziona normalmente senza un server web funzionale se il DAG problematico non interrompe alcun processo in esecuzione in GKE.
In questo caso, puoi utilizzare gcloud composer environments run per recuperare i dettagli dal tuo ambiente e come soluzione alternativa se il server web non è disponibile.
In altri casi, puoi eseguire l'analisi dei DAG in GKE e cercare i DAG che generano eccezioni Python irreversibili o che vanno in timeout (valore predefinito 30 secondi). Per risolvere il problema, connettiti a una shell remota in un container worker di Airflow e verifica la presenza di errori di sintassi. Per saperne di più, consulta la sezione Test dei DAG.