Habilitar el guardado de registros en el segmento del entorno

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

En esta página se explica cómo habilitar el guardado de los registros de tareas de Airflow en el bucket del entorno en un entorno nuevo o en uno ya creado.

Si quiere, puede habilitar la sincronización de los registros de tareas con el contenedor del entorno.

Acerca de cómo guardar registros en el segmento del entorno

Los registros se guardan en el segmento del entorno de la siguiente manera:

  • Inhabilitado (valor predeterminado): los registros de tareas están disponibles en Cloud Logging. Puedes verlos en la interfaz de usuario de Airflow y en Cloud Logging. Los archivos de registro de tareas no se guardan en el segmento del entorno.

    Si se había inhabilitado el guardado de registros en el segmento del entorno y lo habilitas, los registros de tareas que se muestran en la interfaz de usuario de Airflow no mostrarán las entradas de registro que se generaron mientras los registros se guardaban solo en Cloud Logging. Estos registros no se pierden, sino que siguen estando disponibles en Cloud Logging.

  • Habilitado: los registros de tareas se guardan tanto en Cloud Logging como en el segmento del entorno. Puedes verlos en la interfaz de usuario de Airflow y en Cloud Logging. El segmento del entorno almacena archivos con estos registros.

    Si se había habilitado el guardado de registros en el segmento del entorno y lo inhabilita, los registros que ya se habían guardado en el segmento del entorno no se eliminarán y permanecerán almacenados en el segmento.

Antes de empezar

  • A partir de la versión 2.8.0 de Cloud Composer, todos los entornos dejan de almacenar los registros de tareas en el bucket del entorno de forma predeterminada. Los registros de tareas siguen estando disponibles en Cloud Logging y en la interfaz de usuario de Airflow.

  • Cuando actualizas tu entorno, la configuración para guardar los registros en el contenedor del entorno no cambia. Por ejemplo, si actualizas un entorno que guardaba registros en su segmento a una versión posterior, el entorno seguirá guardando registros en su segmento.

  • Para habilitar o inhabilitar esta opción, puedes usar la CLI de Google Cloud, la API Cloud Composer o Terraform. No se puede cambiar esta opción a través de la consola Google Cloud .

Habilitar o inhabilitar el guardado de los registros de tareas en el bucket del entorno al crear un entorno

gcloud

Cuando creas un entorno, los siguientes argumentos especifican cómo se deben guardar los registros de tareas de Airflow:

  • El argumento --disable-logs-in-cloud-logging-only permite guardar los registros de tareas de Airflow en el segmento del entorno.
  • El argumento --enable-logs-in-cloud-logging-only inhabilita el guardado de los registros de tareas de Airflow en el segmento del entorno. Los registros solo se guardan en Cloud Logging.
gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --disable-logs-in-cloud-logging-only

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre de tu entorno.
  • LOCATION: la región en la que se encuentra el entorno.

Ejemplo:

gcloud composer environments create example-environment \
    --location us-central1 \
    --disable-logs-in-cloud-logging-only

API

Cuando creas un entorno, en el recurso Environment > EnvironmentConfig > DataRetentionConfig > TaskLogsRetentionConfig, especifica cómo se deben guardar los registros de tareas de Airflow:

  • CLOUD_LOGGING_AND_CLOUD_STORAGE para guardar los registros en el segmento del entorno y en Cloud Logging.
  • CLOUD_LOGGING_ONLY para guardar los registros solo en Cloud Logging.
{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "dataRetentionConfig": {
      "taskLogsRetentionConfig": {
        "storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
      }
    }
  }
}

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre de tu entorno.
  • LOCATION: la región en la que se encuentra el entorno.
  • PROJECT_ID: el ID de proyecto.

Ejemplo:

// 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

Cuando creas un entorno, el campo storage_mode del bloque task_logs_retention_config especifica cómo se deben guardar los registros de tareas de Airflow:

  • CLOUD_LOGGING_AND_CLOUD_STORAGE para guardar los registros en el segmento del entorno y en Cloud Logging.
  • CLOUD_LOGGING_ONLY para guardar los registros solo en 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"

      }
    }
  }

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre de tu entorno.
  • LOCATION: la región en la que se encuentra el entorno.

Ejemplo:

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"

      }
    }
  }
}

Habilitar o inhabilitar el guardado de los registros de tareas en el bucket del entorno en un entorno ya creado

gcloud

Cuando actualizas un entorno, los siguientes argumentos habilitan o inhabilitan el guardado de los registros de tareas de Airflow en el bucket del entorno:

  • El argumento --disable-logs-in-cloud-logging-only permite guardar los registros de tareas de Airflow en el segmento del entorno. Los registros se guardan en el segmento del entorno y en Cloud Logging.
  • El argumento --enable-logs-in-cloud-logging-only inhabilita el guardado de los registros de tareas de Airflow en el segmento del entorno. Los registros solo se guardan en Cloud Logging.

Para guardar los registros de Airflow en el segmento del entorno, sigue estos pasos:

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --disable-logs-in-cloud-logging-only

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre de tu entorno.
  • LOCATION: la región en la que se encuentra el entorno.

Ejemplo:

gcloud composer environments update example-environment \
    --location us-central1 \
    --disable-logs-in-cloud-logging-only

API

  1. Crea una solicitud de la API environments.patch.

  2. En esta solicitud:

    1. En el parámetro updateMask, especifique la config.dataRetentionConfig.taskLogsRetentionConfig.storageMode máscara.

    2. En el cuerpo de la solicitud, especifica cómo se deben guardar los registros de tareas de Airflow:

      • CLOUD_LOGGING_AND_CLOUD_STORAGE para guardar los registros en el segmento del entorno y en Cloud Logging.
      • CLOUD_LOGGING_ONLY para guardar los registros solo en Cloud Logging.
{
  "config": {
    "dataRetentionConfig": {
      "taskLogsRetentionConfig": {
        "storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
      }
    }
  }
}

Ejemplo:

// 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

En el bloque task_logs_retention_config, en el campo storage_mode, especifica cómo se deben guardar los registros de tareas de Airflow:

  • CLOUD_LOGGING_AND_CLOUD_STORAGE para guardar los registros en el segmento del entorno y en Cloud Logging.
  • CLOUD_LOGGING_ONLY para guardar los registros solo en 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"

      }
    }
  }

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre de tu entorno.
  • LOCATION: la región en la que se encuentra el entorno.

Ejemplo:

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"

      }
    }
  }
}

Siguientes pasos