Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Auf dieser Seite wird erläutert, wie Sie das Speichern von Airflow-Aufgabenlogs im Bucket der Umgebung für eine neue oder vorhandene Umgebung aktivieren.
Optional können Sie die Synchronisierung von Aufgabenlogs mit dem Bucket der Umgebung aktivieren.
Logs im Bucket der Umgebung speichern
Das Speichern von Logs im Bucket der Umgebung funktioniert so:
Deaktiviert (Standard): Aufgabenlogs sind in Cloud Logging verfügbar. Sie können sie in der Airflow-UI und in Cloud Logging ansehen. Aufgabenlogdateien werden nicht im Bucket der Umgebung gespeichert.
Wenn das Speichern von Logs im Bucket der Umgebung deaktiviert war und Sie es aktivieren, werden in der Airflow-UI angezeigte Aufgabenlogs keine Logeinträge angezeigt, die generiert wurden, als Logs nur in Cloud Logging gespeichert wurden. Diese Logs sind nicht verloren, sondern weiterhin in Cloud Logging verfügbar.
Aktiviert: Aufgabenlogs werden sowohl in Cloud Logging als auch in dem Bucket der Umgebung gespeichert. Sie können sie in der Airflow-UI und in Cloud Logging ansehen. Im Bucket der Umgebung werden Dateien mit diesen Logs gespeichert.
Wenn das Speichern von Logs im Bucket der Umgebung aktiviert war und Sie es deaktivieren, werden die bereits im Bucket der Umgebung gespeicherten Logs nicht gelöscht und bleiben im Bucket gespeichert.
Hinweis
Ab Managed Airflow-Version 2.8.0 werden Aufgabenlogs standardmäßig nicht mehr im Bucket der Umgebung gespeichert. Aufgabenlogs sind weiterhin in Cloud Logging und in der Airflow-UI verfügbar.
Wenn Sie Ihre Umgebung upgraden, wird die Konfiguration zum Speichern von Logs im Bucket der Umgebung nicht geändert. Wenn Sie beispielsweise eine Umgebung, in der Logs im Bucket der Umgebung gespeichert wurden, auf eine neuere Version upgraden, werden die Logs weiterhin im Bucket der Umgebung gespeichert.
Sie können diese Option über die Google Cloud CLI, die Cloud Composer API oder Terraform aktivieren oder deaktivieren. Es ist nicht möglich, diese Option über die Google Cloud Console zu ändern.
Speichern von Aufgabenlogs im Bucket der Umgebung beim Erstellen einer Umgebung aktivieren oder deaktivieren
gcloud
Beim Erstellen einer Umgebung geben die folgenden Argumente an, wie Airflow-Aufgabenlogs gespeichert werden müssen:
- Mit dem Argument
--disable-logs-in-cloud-logging-onlywerden Airflow-Aufgabenlogs im Bucket der Umgebung gespeichert. - Mit dem Argument
--enable-logs-in-cloud-logging-onlywird das Speichern von Airflow-Aufgabenlogs im Bucket der Umgebung deaktiviert. Logs werden nur in Cloud Logging gespeichert.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--disable-logs-in-cloud-logging-only
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name Ihrer UmgebungLOCATION: die Region, in der sich die Umgebung befindet
Beispiel:
gcloud composer environments create example-environment \
--location us-central1 \
--disable-logs-in-cloud-logging-only
API
Geben Sie beim Erstellen einer Umgebung in der Ressource Umgebung > EnvironmentConfig > DataRetentionConfig > TaskLogsRetentionConfig an, wie Airflow-Aufgabenlogs gespeichert werden müssen:
CLOUD_LOGGING_AND_CLOUD_STORAGE, um Logs im Bucket der Umgebung und in Cloud Logging zu speichern.CLOUD_LOGGING_ONLY, um Logs nur in Cloud Logging zu speichern.
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"config": {
"dataRetentionConfig": {
"taskLogsRetentionConfig": {
"storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name Ihrer UmgebungLOCATION: die Region, in der sich die Umgebung befindetPROJECT_ID: die Projekt-ID.
Beispiel:
// 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
Beim Erstellen einer Umgebung gibt das Feld storage_mode im Block task_logs_retention_config an, wie Airflow-Aufgabenlogs gespeichert werden müssen:
CLOUD_LOGGING_AND_CLOUD_STORAGE, um Logs im Bucket der Umgebung und in Cloud Logging zu speichern.CLOUD_LOGGING_ONLY, um Logs nur in Cloud Logging zu speichern.
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"
}
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name Ihrer UmgebungLOCATION: die Region, in der sich die Umgebung befindet
Beispiel:
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"
}
}
}
}
Speichern von Aufgabenlogs im Bucket der Umgebung für eine vorhandene Umgebung aktivieren oder deaktivieren
gcloud
Beim Aktualisieren einer Umgebung aktivieren oder deaktivieren die folgenden Argumente das Speichern von Airflow-Aufgabenlogs im Bucket der Umgebung:
- Mit dem Argument
--disable-logs-in-cloud-logging-onlywerden Airflow-Aufgabenlogs im Bucket der Umgebung gespeichert. Logs werden im Bucket der Umgebung und in Cloud Logging gespeichert. - Mit dem Argument
--enable-logs-in-cloud-logging-onlywird das Speichern von Airflow-Aufgabenlogs im Bucket der Umgebung deaktiviert. Logs werden nur in Cloud Logging gespeichert.
So speichern Sie Airflow-Logs im Bucket der Umgebung:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-logs-in-cloud-logging-only
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name Ihrer UmgebungLOCATION: die Region, in der sich die Umgebung befindet
Beispiel:
gcloud composer environments update example-environment \
--location us-central1 \
--disable-logs-in-cloud-logging-only
API
Erstellen Sie eine
environments.patch-API-Anfrage.In dieser Anfrage:
Geben Sie im Parameter
updateMaskdie Maskeconfig.dataRetentionConfig.taskLogsRetentionConfig.storageModean.Geben Sie im Anfragetext an, wie Airflow-Aufgabenlogs gespeichert werden müssen:
CLOUD_LOGGING_AND_CLOUD_STORAGE, um Logs im Bucket der Umgebung und in Cloud Logging zu speichern.CLOUD_LOGGING_ONLY, um Logs nur in Cloud Logging zu speichern.
{
"config": {
"dataRetentionConfig": {
"taskLogsRetentionConfig": {
"storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
}
Beispiel:
// 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
Geben Sie im Block task_logs_retention_config im Feld storage_mode an, wie Airflow-Aufgabenlogs gespeichert werden müssen:
CLOUD_LOGGING_AND_CLOUD_STORAGE, um Logs im Bucket der Umgebung und in Cloud Logging zu speichern.CLOUD_LOGGING_ONLY, um Logs nur in Cloud Logging zu speichern.
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"
}
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name Ihrer UmgebungLOCATION: die Region, in der sich die Umgebung befindet
Beispiel:
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"
}
}
}
}