Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Questa pagina spiega come attivare il salvataggio dei log delle attività Airflow nel bucket dell'ambiente per un ambiente nuovo o esistente.
In alternativa, puoi attivare la sincronizzazione dei log delle attività con il bucket dell'ambiente.
Prima di iniziare
A partire da Cloud Composer versione 2.8.0, non tutti gli ambienti e archiviare i log delle attività nel bucket dell'ambiente per impostazione predefinita. I log delle attività sono ancora disponibili in Cloud Logging e nell'interfaccia utente di Airflow.
Se attivi questa funzionalità, i log vengono salvati sia in Cloud Logging sia nel bucket dell'ambiente.
Quando esegui l'upgrade dell'ambiente, la configurazione per il salvataggio dei log nel il bucket dell'ambiente non sia stato modificato. Ad esempio, se esegui l'upgrade di un che ha salvato i log nel bucket dell'ambiente in una versione successiva, dell'ambiente continua a salvare i log nel bucket dell'ambiente.
Se disabiliti il salvataggio dei log delle attività nel bucket dell'ambiente, i log sono già stati salvati nel bucket dell'ambiente non vengono eliminati automaticamente.
Per attivare o disattivare questa opzione, puoi utilizzare Google Cloud CLI, l'API Cloud Composer o Terraform. Non è possibile modificare questa opzione tramite la console Google Cloud.
Abilita o disabilita il salvataggio dei log delle attività nel bucket dell'ambiente durante la creazione di un ambiente
gcloud
Quando crei un ambiente, i seguenti argomenti specificano come devono essere salvati i log delle attività di Airflow:
- L'argomento
--disable-logs-in-cloud-logging-only
consente di salvare l'attività Airflow i log al bucket dell'ambiente. - L'argomento
--enable-logs-in-cloud-logging-only
disattiva il salvataggio dei log delle attività Airflow nel bucket dell'ambiente. I log vengono salvati solo in Cloud Logging.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--disable-logs-in-cloud-logging-only
Sostituisci quanto segue:
ENVIRONMENT_NAME
: il nome del tuo ambiente.LOCATION
: la regione in cui si trova l'ambiente.
Esempio:
gcloud composer environments create example-environment \
--location us-central1 \
--disable-logs-in-cloud-logging-only
API
Quando crei un ambiente, nella risorsa Environment > EnvironmentConfig > DataRetentionConfig > TaskLogsRetentionConfig, specifica come devono essere salvati i log delle attività di Airflow:
CLOUD_LOGGING_AND_CLOUD_STORAGE
per salvare i log nel bucket dell'ambiente e in Cloud Logging.CLOUD_LOGGING_ONLY
per salvare i log solo in Cloud Logging.
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"config": {
"dataRetentionConfig": {
"taskLogsRetentionConfig": {
"storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
}
Sostituisci quanto segue:
ENVIRONMENT_NAME
: il nome del tuo ambiente.LOCATION
: la regione in cui si trova l'ambiente.PROJECT_ID
: l'ID progetto.
Esempio:
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "projects/example-project/locations/us-central1/environments/example-environment",
"config": {
"dataRetentionConfig": {
"taskLogsRetentionConfig": {
"storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
}
Terraform
Quando crei un ambiente, il campo storage_mode
nel
blocco task_logs_retention_config
specifica come devono essere salvati
i log delle attività Airflow:
CLOUD_LOGGING_AND_CLOUD_STORAGE
per salvare i log nel bucket dell'ambiente e in Cloud Logging.CLOUD_LOGGING_ONLY
per salvare i log solo in Cloud Logging.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
data_retention_config {
task_logs_retention_config {
storage_mode = "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
Sostituisci quanto segue:
ENVIRONMENT_NAME
: il nome del tuo ambiente.LOCATION
: la regione in cui si trova l'ambiente.
Esempio:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
data_retention_config {
task_logs_retention_config {
storage_mode = "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
}
Abilita o disabilita il salvataggio dei log delle attività nel bucket dell'ambiente per un ambiente esistente
gcloud
Quando aggiorni un ambiente, i seguenti argomenti attivano o disattivano la salvataggio dei log delle attività di Airflow nel bucket dell'ambiente:
- L'argomento
--disable-logs-in-cloud-logging-only
consente di salvare l'attività Airflow i log al bucket dell'ambiente. I log vengono salvati nel bucket dell'ambiente e in Cloud Logging. - L'argomento
--enable-logs-in-cloud-logging-only
disabilita il salvataggio dell'attività Airflow i log al bucket dell'ambiente. I log vengono salvati solo in e in Cloud Logging.
Per salvare i log di Airflow nel bucket dell'ambiente:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-logs-in-cloud-logging-only
Sostituisci quanto segue:
ENVIRONMENT_NAME
: il nome del tuo ambiente.LOCATION
: la regione in cui si trova l'ambiente.
Esempio:
gcloud composer environments update example-environment \
--location us-central1 \
--disable-logs-in-cloud-logging-only
API
Crea una richiesta API
environments.patch
.In questa richiesta:
Nel parametro
updateMask
, specifica la mascheraconfig.dataRetentionConfig.taskLogsRetentionConfig.storageMode
.Nel corpo della richiesta, specifica come devono essere i log delle attività Airflow risparmiati:
CLOUD_LOGGING_AND_CLOUD_STORAGE
per salvare i log nell'ambiente e Cloud Logging.CLOUD_LOGGING_ONLY
per salvare i log solo in Cloud Logging.
{
"config": {
"dataRetentionConfig": {
"taskLogsRetentionConfig": {
"storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
}
Esempio:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.dataRetentionConfig.taskLogsRetentionConfig.storageMode
{
"config": {
"dataRetentionConfig": {
"taskLogsRetentionConfig": {
"storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
}
Terraform
Nel blocco task_logs_retention_config
, nel campo storage_mode
specifica come devono essere salvati i log delle attività Airflow:
CLOUD_LOGGING_AND_CLOUD_STORAGE
per salvare i log nel bucket dell'ambiente e Cloud Logging.CLOUD_LOGGING_ONLY
per salvare i log solo in Cloud Logging.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
data_retention_config {
task_logs_retention_config {
storage_mode = "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
Sostituisci quanto segue:
ENVIRONMENT_NAME
: il nome del tuo ambiente.LOCATION
: la regione in cui si trova l'ambiente.
Esempio:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
data_retention_config {
task_logs_retention_config {
storage_mode = "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
}