Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Cette page explique comment activer l'enregistrement des journaux de tâches Airflow dans le dans un environnement nouveau ou existant.
Si vous le souhaitez, vous pouvez activer la synchronisation des journaux de tâches avec le bucket de l'environnement.
Avant de commencer
À partir de la version 2.8.0 de Cloud Composer, tous les environnements les journaux des tâches stockées par défaut dans le bucket de l'environnement. Les journaux de tâches sont toujours disponibles dans Cloud Logging et l'UI Airflow.
Si vous activez cette fonctionnalité, les journaux sont enregistrés à la fois dans Cloud Logging et dans dans le bucket de l'environnement.
Lorsque vous mettez à niveau votre environnement, la configuration d'enregistrement des journaux dans bucket de l'environnement n'est pas modifié. Par exemple, si vous mettez à niveau qui a enregistré les journaux dans le bucket de l'environnement dans une version ultérieure, l'environnement continue d'enregistrer les journaux dans son bucket.
Si vous désactivez l'enregistrement des journaux de tâches dans le bucket de l'environnement, les journaux qui déjà enregistrées dans le bucket de l'environnement ne sont pas supprimées automatiquement.
Pour activer ou désactiver cette option, vous pouvez utiliser Google Cloud CLI, l'API Cloud Composer, ou Terraform. Il n'est pas possible de modifier cette option via la console Google Cloud.
Activer ou désactiver l'enregistrement des journaux des tâches dans le bucket de l'environnement lors de la création d'un environnement
gcloud
Lorsque vous créez un environnement, les arguments suivants spécifient comment Airflow vous devez enregistrer les journaux de tâches:
- L'argument
--disable-logs-in-cloud-logging-only
permet d'enregistrer la tâche Airflow dans le bucket de l'environnement. - L'argument
--enable-logs-in-cloud-logging-only
désactive l'enregistrement de la tâche Airflow dans le bucket de l'environnement. Les journaux ne sont enregistrés que Cloud Logging.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--disable-logs-in-cloud-logging-only
Remplacez les éléments suivants :
ENVIRONMENT_NAME
: nom de votre environnementLOCATION
: région dans laquelle se trouve l'environnement.
Exemple :
gcloud composer environments create example-environment \
--location us-central1 \
--disable-logs-in-cloud-logging-only
API
Lorsque vous créez un environnement, dans la section Environnement > EnvironmentConfig > DataRetentionConfig > ressource TaskLogsRetentionConfig, spécifiez la manière dont les journaux des tâches Airflow doivent être enregistrés:
CLOUD_LOGGING_AND_CLOUD_STORAGE
pour enregistrer les journaux dans le bucket de l'environnement et Cloud Logging.CLOUD_LOGGING_ONLY
pour enregistrer les journaux uniquement dans Cloud Logging.
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"config": {
"dataRetentionConfig": {
"taskLogsRetentionConfig": {
"storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
}
Remplacez les éléments suivants :
ENVIRONMENT_NAME
: nom de votre environnementLOCATION
: région dans laquelle se trouve l'environnement.PROJECT_ID
: ID du projet
Exemple :
// 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
Lorsque vous créez un environnement, le champ storage_mode
du
Le bloc task_logs_retention_config
spécifie la manière dont les journaux des tâches Airflow doivent être
enregistré:
CLOUD_LOGGING_AND_CLOUD_STORAGE
pour enregistrer les journaux dans le bucket de l'environnement et Cloud Logging.CLOUD_LOGGING_ONLY
pour enregistrer les journaux uniquement dans 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"
}
}
}
Remplacez les éléments suivants :
ENVIRONMENT_NAME
: nom de votre environnementLOCATION
: région dans laquelle se trouve l'environnement.
Exemple :
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"
}
}
}
}
Activer ou désactiver l'enregistrement des journaux des tâches dans le bucket d'un environnement existant
gcloud
Lorsque vous mettez à jour un environnement, les arguments suivants activent ou désactivent enregistrement des journaux de tâches Airflow dans le bucket de l'environnement:
- L'argument
--disable-logs-in-cloud-logging-only
permet d'enregistrer la tâche Airflow dans le bucket de l'environnement. Les journaux sont enregistrés dans le bucket de l'environnement et dans Cloud Logging. - L'argument
--enable-logs-in-cloud-logging-only
désactive l'enregistrement de la tâche Airflow dans le bucket de l'environnement. Les journaux ne sont enregistrés que Cloud Logging.
Pour enregistrer les journaux Airflow dans le bucket de l'environnement:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-logs-in-cloud-logging-only
Remplacez les éléments suivants :
ENVIRONMENT_NAME
: nom de votre environnementLOCATION
: région dans laquelle se trouve l'environnement.
Exemple :
gcloud composer environments update example-environment \
--location us-central1 \
--disable-logs-in-cloud-logging-only
API
Rédigez une requête API
environments.patch
.Dans cette requête :
Dans le paramètre
updateMask
, spécifiez laconfig.dataRetentionConfig.taskLogsRetentionConfig.storageMode
masque.Dans le corps de la requête, spécifiez la manière dont les journaux des tâches Airflow doivent être enregistré:
CLOUD_LOGGING_AND_CLOUD_STORAGE
pour enregistrer les journaux dans le un bucket Cloud Storage et Cloud Logging.CLOUD_LOGGING_ONLY
pour enregistrer les journaux uniquement dans Cloud Logging.
{
"config": {
"dataRetentionConfig": {
"taskLogsRetentionConfig": {
"storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
}
Exemple :
// 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
Dans le champ storage_mode
du bloc task_logs_retention_config
, spécifiez la manière dont les journaux des tâches Airflow doivent être enregistrés:
CLOUD_LOGGING_AND_CLOUD_STORAGE
pour enregistrer les journaux dans le bucket de l'environnement et Cloud Logging.CLOUD_LOGGING_ONLY
pour enregistrer les journaux uniquement dans 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"
}
}
}
Remplacez les éléments suivants :
ENVIRONMENT_NAME
: nom de votre environnementLOCATION
: région dans laquelle se trouve l'environnement.
Exemple :
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"
}
}
}
}