Cloud Composer 1 | Cloud Composer 2
Halaman ini menjelaskan cara mengaktifkan penyimpanan log tugas Airflow ke bucket lingkungan untuk lingkungan baru atau yang sudah ada.
Semua lingkungan composer yang dibuat setelah 26-03-2024 tidak menyimpan log tugas di bucket lingkungan secara default. Log tugas masih tersedia di Cloud Logging dan UI Airflow.
Sebagai opsi, Anda dapat mengaktifkan sinkronisasi log tugas ke bucket lingkungan.
Sebelum memulai
Jika Anda mengaktifkan fitur ini, log akan disimpan ke Cloud Logging dan ke bucket lingkungan.
Saat Anda mengupgrade lingkungan, konfigurasi untuk menyimpan log di bucket lingkungan tidak akan berubah. Misalnya, jika Anda mengupgrade lingkungan yang menyimpan log ke bucket lingkungan ke versi yang lebih baru, lingkungan tersebut akan terus menyimpan log ke bucket lingkungan.
Jika Anda menonaktifkan penyimpanan log tugas ke bucket lingkungan, log yang sudah disimpan ke bucket lingkungan tidak akan dihapus secara otomatis.
Untuk mengaktifkan atau menonaktifkan opsi ini, Anda dapat menggunakan Google Cloud CLI, Cloud Composer API, atau Terraform. Opsi ini tidak dapat diubah melalui Google Cloud Console.
Mengaktifkan atau menonaktifkan penyimpanan log tugas ke bucket lingkungan saat membuat lingkungan
gcloud
Saat Anda membuat lingkungan, argumen berikut menentukan cara penyimpanan log tugas Airflow:
- Argumen
--disable-logs-in-cloud-logging-only
memungkinkan penyimpanan log tugas Airflow ke bucket lingkungan. - Argumen
--enable-logs-in-cloud-logging-only
menonaktifkan penyimpanan log tugas Airflow ke bucket lingkungan. Log hanya disimpan ke Cloud Logging.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--disable-logs-in-cloud-logging-only
Ganti kode berikut:
ENVIRONMENT_NAME
: nama lingkungan Anda.LOCATION
: region tempat lingkungan berada.
Contoh:
gcloud composer environments create example-environment \
--location us-central1 \
--disable-logs-in-cloud-logging-only
API
Saat Anda membuat lingkungan, di resource Environment > EnvironmentConfig > DataRetentionConfig > TaskLogsRetentionConfig, tentukan cara menyimpan log tugas Airflow:
CLOUD_LOGGING_AND_CLOUD_STORAGE
untuk menyimpan log ke bucket lingkungan dan Cloud Logging.CLOUD_LOGGING_ONLY
untuk menyimpan log hanya di Cloud Logging.
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"config": {
"dataRetentionConfig": {
"taskLogsRetentionConfig": {
"storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
}
Ganti kode berikut:
ENVIRONMENT_NAME
: nama lingkungan Anda.LOCATION
: region tempat lingkungan berada.PROJECT_ID
: Project ID.
Contoh:
// 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
Saat Anda membuat lingkungan, kolom storage_mode
di blok task_logs_retention_config
menentukan cara penyimpanan log tugas Airflow:
CLOUD_LOGGING_AND_CLOUD_STORAGE
untuk menyimpan log ke bucket lingkungan dan Cloud Logging.CLOUD_LOGGING_ONLY
untuk menyimpan log hanya di 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"
}
}
}
Ganti kode berikut:
ENVIRONMENT_NAME
: nama lingkungan Anda.LOCATION
: region tempat lingkungan berada.
Contoh:
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"
}
}
}
}
Mengaktifkan atau menonaktifkan penyimpanan log tugas ke bucket lingkungan untuk lingkungan yang ada
gcloud
Saat Anda memperbarui lingkungan, argumen berikut akan mengaktifkan atau menonaktifkan penyimpanan log tugas Airflow ke bucket lingkungan:
- Argumen
--disable-logs-in-cloud-logging-only
memungkinkan penyimpanan log tugas Airflow ke bucket lingkungan. Log disimpan ke bucket lingkungan dan ke Cloud Logging. - Argumen
--enable-logs-in-cloud-logging-only
menonaktifkan penyimpanan log tugas Airflow ke bucket lingkungan. Log hanya disimpan ke Cloud Logging.
Untuk menyimpan log Airflow di bucket lingkungan:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-logs-in-cloud-logging-only
Ganti kode berikut:
ENVIRONMENT_NAME
: nama lingkungan Anda.LOCATION
: region tempat lingkungan berada.
Contoh:
gcloud composer environments update example-environment \
--location us-central1 \
--disable-logs-in-cloud-logging-only
API
Buat permintaan
environments.patch
API.Dalam permintaan ini:
Dalam parameter
updateMask
, tentukan maskconfig.dataRetentionConfig.taskLogsRetentionConfig.storageMode
.Dalam isi permintaan, tentukan cara menyimpan log tugas Airflow:
CLOUD_LOGGING_AND_CLOUD_STORAGE
untuk menyimpan log ke bucket lingkungan dan Cloud Logging.CLOUD_LOGGING_ONLY
untuk menyimpan log hanya di Cloud Logging.
{
"config": {
"dataRetentionConfig": {
"taskLogsRetentionConfig": {
"storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
}
Contoh:
// 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
Di blok task_logs_retention_config
, di kolom storage_mode
, tentukan cara menyimpan log tugas Airflow:
CLOUD_LOGGING_AND_CLOUD_STORAGE
untuk menyimpan log ke bucket lingkungan dan Cloud Logging.CLOUD_LOGGING_ONLY
untuk menyimpan log hanya di 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"
}
}
}
Ganti kode berikut:
ENVIRONMENT_NAME
: nama lingkungan Anda.LOCATION
: region tempat lingkungan berada.
Contoh:
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"
}
}
}
}