Controlar a ingestão de registros do Dataflow

Os filtros de exclusão permitem controlar o volume de registros do Dataflow ingeridos pelo Cloud Logging enquanto ainda disponibiliza o registro detalhado disponível para depuração. É possível usar filtros de exclusão para impedir que as entradas de registro correspondentes sejam ingeridas pelo Cloud Logging ou não serem encaminhadas para o destino do coletor. Para criar filtros de exclusão, use a linguagem de consulta do Logging. A linguagem de consulta do Logging permite especificar um subconjunto de todas as entradas de registro no recurso selecionado do Google Cloud, como um projeto ou uma pasta.

Ao usar filtros de exclusão, é possível reduzir os custos do Cloud Logging incorridos pela ingestão de registros do Dataflow. Para mais informações sobre os preços de ingestão de registros do Cloud Logging, consulte o Resumo de preços do Cloud Logging. Para mais detalhes sobre como funcionam os filtros de exclusão e as limitações deles, consulte Filtros de exclusão na documentação do Cloud Logging.

Os jobs do Dataflow emitem vários tipos de registro. Nesta página, demonstramos como filtrar registros de job e de worker do Dataflow.

Criar filtros de exclusão de registro

Neste exemplo, criamos um filtro de exclusão no coletor _Default do Cloud Logging. O filtro exclui todos os registros de gravidade DEFAULT, DEBUG, INFO e NOTICE do Dataflow que são ingeridos no Cloud Logging. Os registros de gravidade WARNING, ERROR, CRITICAL, ALERT e EMERGENCY ainda são capturados. Para mais informações sobre os níveis de registro compatíveis, consulte LogSeverity.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  5. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

Permissões

Para começar, verifique se:

  • Você tem um projeto do Google Cloud com registros que podem ser vistos no Explorador de registros.

  • Você tem um dos seguintes papéis do IAM para o projeto do Google Cloud de origem a partir do qual está roteando registros.

    • Proprietário (roles/owner)
    • Administrador do Logging (roles/logging.admin)
    • Gravador de configuração de registros (roles/logging.configWriter)

    As permissões contidas nesses papéis permitem criar, excluir ou modificar coletores. Para informações sobre como definir papéis do IAM, consulte o Guia de controle de acesso do Logging.

  • Você tem um recurso em um destino compatível ou pode criar um.

    Você precisa criar o destino de roteamento antes do coletor por meio da Google Cloud CLI, do Console do Google Cloud ou das APIs do Google Cloud. É possível criar o destino em qualquer projeto do Google Cloud em qualquer organização. Antes de criar o destino, verifique se a conta de serviço do coletor tem permissões para gravar no destino.

Adicionar um filtro de exclusão

As etapas a seguir demonstram como adicionar um filtro de exclusão do Cloud Logging aos seus registros do Dataflow. Este filtro de exclusão seleciona todas as entradas de registro do Dataflow com a gravidade DEFAULT, DEBUG, INFO e NOTICE de jobs que têm um nome de job do Dataflow que não termina em String debug. O filtro exclui esses registros da ingestão no bucket do Cloud Logging Default.

  1. No console do Google Cloud, acesse a página do Roteador de registros.

    Acessar o roteador de registros

  2. Encontre a linha com o coletor _Default, expanda a opção Ações e clique em Editar coletor.

  3. Em Escolher registros para filtrar fora do coletor, em Criar um filtro de exclusão, clique em Adicionar exclusão.

  4. Insira um nome para seu filtro de exclusão.

  5. Na seção Criar um filtro de exclusão, cole o seguinte texto na caixa:

    resource.type="dataflow_step" AND
    labels."dataflow.googleapis.com/job_name"!~".*debug" AND
    severity=(DEFAULT OR DEBUG OR INFO OR NOTICE)
    
    • A primeira linha seleciona todas as entradas de registro geradas pelo serviço do Dataflow.
    • A segunda linha seleciona todas as entradas de registro em que o campo job_name não termina com a string debug.
    • A terceira linha seleciona todas as entradas de registro com a gravidade DEFAULT, DEBUG, INFO ou NOTICE.
  6. Clique em Atualizar coletor.

Testar seu filtro de exclusão

Verifique se o filtro está funcionando corretamente executando um job de amostra do Dataflow e visualizando os registros.

Depois que seu job começar a ser executado, siga estas etapas para ver os registros de job:

  1. No console do Google Cloud, acesse a página Jobs do Dataflow.

    Acessar "Jobs"

    Uma lista de jobs do Dataflow é exibida junto com o status deles.

  2. Selecione um job.

  3. Na página Detalhes do job, no painel Registros, clique em Mostrar.

  4. Verifique se nenhum registro aparece no painel Registros do job e se nenhum registro DEFAULT, DEBUG, INFO ou NOTICE aparece no painel Registros do worker

Ignorar o filtro de exclusão

O nome do job do Dataflow (job_name) é usado para fornecer um mecanismo bypass para cenários em que os registros gerados do Dataflow precisam ser capturados. É possível usá-lo para executar novamente um job com falha e capturar todas as informações de registro.

O filtro criado neste cenário mantém todas as entradas de registro quando o campo job_name termina com a string debug. Quando quiser ignorar o filtro de exclusão e exibir todos os registros de um job do Dataflow, anexe debug ao nome do job. Por exemplo, para ignorar o filtro de exclusão, use o nome do job dataflow-job-debug.

Comparar contagens de registros

Se você quiser comparar o volume de registros ingeridos com e sem o filtro de exclusão, execute um job com debug anexado ao nome do job e outro sem. Use a métrica definida pelo sistema e com base em registros como Bytes de registro para visualizar e comparar os dados de ingestão. Para mais informações sobre como visualizar dados de ingestão, consulte Ver dados de ingestão no Metrics Explorer.

Criar um destino externo

Depois de criar o filtro de exclusão, é possível criar outro coletor do Cloud Logging para redirecionar o conjunto completo de registros do Dataflow para um destino externo compatível, como BigQuery, Pub/Sub ou Splunk.

Nesse cenário, os registros externos não são armazenados no Explorador de registros, mas estão disponíveis no destino externo. O uso de um destino externo oferece mais controle sobre os custos gerados pelo armazenamento de registros no Explorador de registros.

Para informações sobre como controlar a maneira como o Cloud Logging encaminha registros, consulte Configurar e gerenciar coletores. Para capturar todos os registros do Dataflow em um destino externo, no painel Escolher registros para incluir no coletor, no campo Criar filtro de inclusão, insira a seguinte expressão de filtro:

resource.type="dataflow_step"

Para encontrar entradas de registro que você roteou do Cloud Logging para destinos compatíveis, consulte Ver registros em destinos do coletor.

Rastrear as mensagens de registro do Dataflow por gravidade

Os filtros de exclusão não se aplicam a métricas com base em registros definidas pelo usuário. Essas métricas contam o número de entradas de registro que correspondem a determinado filtro ou registram valores específicos nas entradas de registro correspondentes. Para monitorar a contagem de mensagens de registro do Dataflow com base na gravidade, crie uma métrica com base em registros para os registros do Dataflow. Os registros são rastreados mesmo quando as mensagens de registro são excluídas da ingestão.

Você será cobrado por métricas com base em registros definidas pelo usuário. Para informações sobre preços, consulte Métricas faturáveis.

Para configurar métricas com base em registros definidas pelo usuário, consulte Criar uma métrica de contador. Para acompanhar os registros do Dataflow, na seção Seleção de filtros, na caixa de texto Filtro de build, digite o seguinte:

resource.type="dataflow_step"