Cloud Composer 1 | Cloud Composer 2
Apache Airflow include un'interfaccia utente web (UI) che puoi utilizzare per gestire i flussi di lavoro (DAG), gestire l'ambiente Airflow ed eseguire azioni amministrative. Ad esempio, puoi utilizzare l'interfaccia web per esaminare l'avanzamento di un DAG, configurare una nuova connessione dati o esaminare i log delle esecuzioni di DAG precedenti.
Server web Airflow
Ogni ambiente Cloud Composer dispone di un server web che esegue l'interfaccia web di Airflow. Il server web fa parte dell'architettura dell'ambiente di Cloud Composer.
Il server web analizza i file di definizione del DAG nella cartella dags/
e deve essere in grado di accedere ai dati e alle risorse di un DAG per caricare il DAG e gestire le richieste HTTP.
Il server web aggiorna i DAG ogni 60 secondi (impostazione predefinita worker_refresh_interval
in Cloud Composer). Può verificarsi un errore del server web se il server web non riesce ad analizzare tutti i DAG nell'intervallo di aggiornamento.
Il caricamento dei DAG può superare i 60 secondi se è presente un numero elevato di file DAG o se è presente un carico di lavoro non banale per caricare i file DAG. Per garantire che il server web rimanga accessibile indipendentemente dal tempo di caricamento dei DAG, puoi configurare il caricamento dei DAG asincrono per analizzare e caricare i DAG in background a un intervallo preconfigurato (disponibile in composer-1.7.1-airflow-1.10.2
e versioni successive).
Questa configurazione può anche ridurre il tempo di aggiornamento dei DAG.
Oltre a superare l'intervallo di aggiornamento del worker, nella maggior parte dei casi il server web può gestire agevolmente gli errori di caricamento dei DAG. I DAG che causano l'arresto anomalo o l'arresto del server web potrebbero causare la restituzione di errori nel browser. Per informazioni, consulta la sezione Risoluzione dei problemi dei DAG.
Se continui a riscontrare problemi del server web a causa dell'analisi DAG, ti consigliamo di utilizzare il caricamento DAG asincrono.
Prima di iniziare
Devi avere un ruolo in grado di visualizzare gli ambienti Cloud Composer. Per ulteriori informazioni, vedi Controllo dell'accesso.
Durante la creazione dell'ambiente, Cloud Composer configura l'URL per il server web che esegue l'interfaccia web di Airflow. L'URL non è personalizzabile.
- La funzionalità Controllo dell'accesso alla UI di Airflow (Controllo degli accessi basato su ruoli Airflow) per l'interfaccia web di Airflow è supportata per gli ambienti Cloud Composer che eseguono Composer 1.13.4 o versioni successive, Airflow versione 1.10.10 o successive e Python 3.
Accesso all'interfaccia web di Airflow
Viene eseguito il deployment del servizio server web Airflow nel dominio appspot.com
e viene fornito l'accesso all'interfaccia web di Airflow. Cloud Composer 1 fornisce
l'accesso all'interfaccia in base alle identità utente e alle associazioni di criteri IAM
definiti per gli utenti. Cloud Composer 1 utilizza Identity-Aware Proxy
a questo scopo.
Dopo aver creato un nuovo ambiente Cloud Composer, sono necessari fino a 25 minuti prima che l'interfaccia web completi l'hosting e diventi accessibile.
Accesso all'interfaccia web dalla console Google Cloud
Per accedere all'interfaccia web di Airflow dalla console Google Cloud:
Nella console Google Cloud, vai alla pagina Ambienti.
Nella colonna Airflow webserver, segui il link Airflow relativo al tuo ambiente.
Accedi con l'Account Google che dispone delle autorizzazioni appropriate.
Limitazione dell'accesso al server web Airflow
Gli ambienti Composer consentono di limitare l'accesso al server web Airflow.
Puoi bloccare tutti gli accessi o consentire l'accesso da intervalli IP esterni IPv4 o IPv6 specifici.
Al momento non puoi configurare gli intervalli IP consentiti utilizzando indirizzi IP privati.
Recuperare l'URL dell'interfaccia web tramite lo strumento a riga di comando gcloud
Puoi accedere all'interfaccia web di Airflow da qualsiasi browser web. Per ottenere l'URL dell'interfaccia web, inserisci il seguente comando gcloud
:
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION
Sostituisci quanto segue:
ENVIRONMENT_NAME
: il nome dell'ambiente.LOCATION
: la regione in cui si trova l'ambiente.
Il comando gcloud
mostra le proprietà di un ambiente Cloud Composer, incluso l'URL dell'interfaccia web. L'URL è indicato come airflowUri
.
config:
airflowUri: https://example-tp.appspot.com
Configurazione del caricamento dei DAG asincrono
Quando il caricamento dei DAG asincrono è abilitato, il server web Airflow crea un nuovo processo. Questo processo carica i DAG in background,
invia i DAG appena caricati in intervalli definiti dall'opzione dagbag_sync_interval
e poi esegue la sospensione.
Il processo si riattiva periodicamente per ricaricare i DAG. L'intervallo è definito dall'opzione collect_dags_interval
.
Per attivare il caricamento asincrono dei DAG:
Disabilita la serializzazione DAG. Il caricamento DAG asincrono non può essere utilizzato con la serializzazione DAG. L'utilizzo delle opzioni di configurazione di Airflow
async_dagbag_loader
estore_serialized_dags
genera errori HTTP 503 e interrompe l'ambiente.Esegui l'override delle seguenti opzioni di configurazione di Airflow:
Sezione Chiave Valore Note webserver
async_dagbag_loader
True
Il valore predefinito è False
.webserver
collect_dags_interval
30
Il valore predefinito è 30
. Utilizza un valore inferiore per aggiornamenti più rapidi.webserver
dagbag_sync_interval
10
Il valore predefinito è 10
.webserver
worker_refresh_interval
3600
Il valore predefinito è 60
. Con il caricamento dei DAG asincrono, puoi utilizzare un intervallo di aggiornamento più lungo.
Riavvio del server web
Durante il debug o la risoluzione dei problemi degli ambienti Cloud Composer, è possibile risolvere alcuni problemi riavviando il server web Airflow. Puoi riavviare il server web utilizzando l'API restartWebServer o il comando gcloud restart-web-server
:
gcloud beta composer environments restart-web-server ENVIRONMENT_NAME \
--location=LOCATION