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
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
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.
- Proprietário (
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
.
No console do Google Cloud, acesse a página do Roteador de registros.
Encontre a linha com o coletor
_Default
, expanda a opção Ações e clique em Editar coletor.Em Escolher registros para filtrar fora do coletor, em Criar um filtro de exclusão, clique em
Adicionar exclusão.Insira um nome para seu filtro de exclusão.
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 stringdebug
. - A terceira linha seleciona todas as entradas de registro com a gravidade
DEFAULT
,DEBUG
,INFO
ouNOTICE
.
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:
No console do Google Cloud, acesse a página Jobs do Dataflow.
Uma lista de jobs do Dataflow é exibida junto com o status deles.
Selecione um job.
Na página Detalhes do job, no painel Registros, clique em segmentMostrar.
Verifique se nenhum registro aparece no painel Registros do job e se nenhum registro
DEFAULT
,DEBUG
,INFO
ouNOTICE
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"