Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Esta página explica como ativar o salvamento de registros de tarefas do Airflow na para um ambiente novo ou atual.
Como opção, você pode ativar a sincronização de registros de tarefas para o bucket do seu ambiente de execução.
Antes de começar
A partir da versão 2.8.0 do Cloud Composer, todos os ambientes não armazenam registros de tarefas no bucket do ambiente por padrão. Os registros de tarefas ainda disponíveis no Cloud Logging e na interface do Airflow.
Se você ativar esse recurso, os registros serão salvos no Cloud Logging e no bucket do ambiente.
Quando você faz upgrade do ambiente, a configuração para salvar logs no bucket do ambiente não é alterada. Por exemplo, se você atualizar um ambiente que salvou registros no bucket do ambiente em uma versão posterior o ambiente continua salvando registros no bucket dele.
Se você desativar o salvamento de registros de tarefas no bucket do ambiente, os registros que já foram salvas no bucket do ambiente não serão excluídas automaticamente.
Para ativar ou desativar essa opção, use a Google Cloud CLI, a API Cloud Composer ou Terraform. Não é possível alterar essa opção no console do Google Cloud.
Ativar ou desativar o salvamento de registros de tarefas no bucket do ambiente ao criar um ambiente
gcloud
Ao criar um ambiente, os argumentos a seguir especificam como o Airflow registros de tarefas precisam ser salvos:
- O argumento
--disable-logs-in-cloud-logging-only
permite salvar a tarefa do Airflow para o bucket do ambiente. - O argumento
--enable-logs-in-cloud-logging-only
desativa o salvamento de registros de tarefas do Airflow no bucket do ambiente. Os registros são salvos apenas o Cloud Logging.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--disable-logs-in-cloud-logging-only
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente;LOCATION
: a região em que o ambiente está localizado.
Exemplo:
gcloud composer environments create example-environment \
--location us-central1 \
--disable-logs-in-cloud-logging-only
API
Ao criar um ambiente, no recurso Ambiente > EnvironmentConfig > DataRetentionConfig > TaskLogsRetentionConfig, especifique como os registros de tarefas do Airflow precisam ser salvos:
CLOUD_LOGGING_AND_CLOUD_STORAGE
para salvar registros no bucket do ambiente e o Cloud Logging.CLOUD_LOGGING_ONLY
para salvar registros apenas no Cloud Logging.
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"config": {
"dataRetentionConfig": {
"taskLogsRetentionConfig": {
"storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
}
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente;LOCATION
: a região em que o ambiente está localizado.PROJECT_ID
: o ID do projeto.
Exemplo:
// 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 você cria um ambiente, o campo storage_mode
na
O bloco task_logs_retention_config
especifica como os registros de tarefas do Airflow precisam ser
salvo:
CLOUD_LOGGING_AND_CLOUD_STORAGE
para salvar registros no bucket do ambiente e o Cloud Logging.CLOUD_LOGGING_ONLY
para salvar registros apenas no 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"
}
}
}
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente;LOCATION
: a região em que o ambiente está localizado.
Exemplo:
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"
}
}
}
}
Ativar ou desativar o salvamento de registros de tarefas no bucket do ambiente atual
gcloud
Ao atualizar um ambiente, os seguintes argumentos ativam ou desativam a gravação de registros de tarefas do Airflow no bucket do ambiente:
- O argumento
--disable-logs-in-cloud-logging-only
permite salvar registros de tarefas do Airflow no bucket do ambiente. Os registros são salvos no bucket do ambiente e no Cloud Logging. - O argumento
--enable-logs-in-cloud-logging-only
desativa o salvamento de registros de tarefas do Airflow no bucket do ambiente. Os registros são salvos apenas o Cloud Logging.
Para salvar registros do Airflow no bucket do ambiente:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-logs-in-cloud-logging-only
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente;LOCATION
: a região em que o ambiente está localizado.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--disable-logs-in-cloud-logging-only
API
Crie uma solicitação de API
environments.patch
.Nesta solicitação:
No parâmetro
updateMask
, especifique a máscaraconfig.dataRetentionConfig.taskLogsRetentionConfig.storageMode
.No corpo da solicitação, especifique como os registros de tarefas do Airflow precisam ser salvo:
CLOUD_LOGGING_AND_CLOUD_STORAGE
para salvar registros nos arquivos o bucket e o Cloud Logging.CLOUD_LOGGING_ONLY
para salvar registros apenas no Cloud Logging.
{
"config": {
"dataRetentionConfig": {
"taskLogsRetentionConfig": {
"storageMode": "CLOUD_LOGGING_AND_CLOUD_STORAGE"
}
}
}
}
Exemplo:
// 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
No bloco task_logs_retention_config
, no campo storage_mode
, especifique como os registros de tarefas do Airflow precisam ser salvos:
CLOUD_LOGGING_AND_CLOUD_STORAGE
para salvar registros no bucket do ambiente e no Cloud Logging.CLOUD_LOGGING_ONLY
para salvar registros apenas no 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"
}
}
}
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente;LOCATION
: a região em que o ambiente está localizado.
Exemplo:
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"
}
}
}
}