Controle o carregamento de registos do Dataflow

Os filtros de exclusão permitem-lhe controlar o volume de registos do Dataflow carregados pelo Cloud Logging, ao mesmo tempo que disponibilizam o registo detalhado para a depuração. Pode usar filtros de exclusão para impedir que as entradas de registo correspondentes sejam carregadas pelo Cloud Logging ou encaminhadas para o destino do sink. Crie filtros de exclusão através da linguagem de consulta de registo. A linguagem de consulta de registo permite-lhe especificar um subconjunto de todas as entradas de registo no recurso do Google Cloud selecionado, como um projeto ou uma pasta.

Ao usar filtros de exclusão, pode reduzir os custos do Cloud Logging incorridos pela ingestão de registos do Dataflow. Para mais informações sobre os preços de carregamento de registos do Cloud Logging, consulte o resumo dos preços do Cloud Logging. Para mais detalhes sobre o funcionamento dos filtros de exclusão e as respetivas limitações, consulte a secção Filtros de exclusão na documentação do Cloud Logging.

As tarefas do Dataflow emitem vários tipos de registos. Esta página demonstra como filtrar os registos de tarefas do Dataflow e os registos de trabalhadores.

Crie filtros de exclusão de registos

Este exemplo cria um filtro de exclusão no _Default coletor do Cloud Logging. O filtro exclui todos os registos do Dataflow com gravidade DEFAULT, DEBUG, INFO e NOTICE da carregamento no Cloud Logging. Os registos de gravidade WARNING, ERROR, CRITICAL, ALERT e EMERGENCY continuam a ser capturados. Para mais informações sobre os níveis de registo suportados, consulte LogSeverity.

Antes de começar

  1. Sign in to your Google Cloud Platform 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Autorizações

    Ao começar, certifique-se do seguinte:

    • Tem um Google Cloud projeto com registos que pode ver no Explorador de registos.

    • Tem uma das seguintes funções de IAM para o projeto de origem Google Cloud a partir do qual está a encaminhar registos.

      • Proprietário (roles/owner)
      • Administrador de registos (roles/logging.admin)
      • Logs Configuration Writer (roles/logging.configWriter)

      As autorizações contidas nestas funções permitem-lhe criar, eliminar ou modificar destinos. Para ver informações sobre a definição de funções de IAM, consulte o guia de controlo de acesso do Logging.

    • Tiver um recurso num destino suportado ou puder criar um.

      Tem de criar o destino de encaminhamento antes do coletor, através da CLI do Google Cloud, Google Cloud da consola ou das Google Cloud APIs. Pode criar o destino em qualquer Google Cloud projeto em qualquer organização. Antes de criar o destino, certifique-se de que a conta de serviço da origem tem autorizações para escrever no destino.

    Adicione um filtro de exclusão

    Os passos seguintes demonstram como adicionar um filtro de exclusão do Cloud Logging aos registos do Dataflow. Este filtro de exclusão seleciona todas as entradas de registo do Dataflow com a gravidade DEFAULT, DEBUG, INFO e NOTICE de tarefas que têm um nome de tarefa do Dataflow que não termina na string debug. O filtro exclui estes registos da ingestão no contentor do Default Cloud Logging.

    1. Na Google Cloud consola, aceda à página Logs Router:

      Aceda ao Logs Router

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

    3. Em Escolha os registos a filtrar da sincronização, para Criar um filtro de exclusão, clique em Adicionar exclusão.

    4. Introduza um nome para o filtro de exclusão.

    5. Na secção Crie 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 registo geradas pelo serviço Dataflow.
      • A segunda linha seleciona todas as entradas de registo em que o campo job_name não termina com a string debug.
      • A terceira linha seleciona todas as entradas de registo com a gravidade DEFAULT, DEBUG, INFO ou NOTICE.
    6. Clique em Atualizar destino.

    Teste o filtro de exclusão

    Pode verificar se o filtro está a funcionar corretamente executando uma amostra de tarefa do Dataflow e, em seguida, vendo os registos.

    Depois de a tarefa começar a ser executada, para ver os registos da tarefa, conclua os seguintes passos:

    1. Na Google Cloud consola, aceda à página Tarefas do Dataflow.

      Aceda a Empregos

      É apresentada uma lista de tarefas do Dataflow juntamente com o respetivo estado.

    2. Selecione uma tarefa.

    3. Na página Detalhes da tarefa, no painel Registos, clique em Mostrar.

    4. Verifique se não aparecem registos no painel Registos de tarefas e se não aparecem registos DEFAULT, DEBUG, INFO nem NOTICE no painel Registos de trabalhadores.

    Ignorar o filtro de exclusão

    O nome da tarefa do Dataflow (job_name) é usado para fornecer um mecanismo de desvio para cenários em que os registos do Dataflow gerados têm de ser captados. Pode usar esta solução alternativa para executar novamente uma tarefa com falha e capturar todas as informações do registo.

    O filtro criado neste cenário retém todas as entradas de registo quando o campo job_name termina com a string debug. Quando quiser ignorar o filtro de exclusão e apresentar todos os registos de uma tarefa do Dataflow, acrescente debug ao nome da tarefa. Por exemplo, para ignorar o filtro de exclusão, pode usar o nome da tarefa dataflow-job-debug.

    Compare as contagens de registos

    Se quiser comparar o volume de registos carregados com e sem o filtro de exclusão, execute uma tarefa com debug anexado ao nome da tarefa e outra sem. Use a métrica baseada em registos definida pelo sistema Bytes de registo para ver e comparar os dados de carregamento. Para mais informações sobre a visualização de dados de carregamento, consulte o artigo Veja dados de carregamento no explorador de métricas.

    Crie um destino externo

    Opcionalmente, depois de criar o filtro de exclusão, pode criar um destino do Cloud Logging adicional. Use este destino para redirecionar o conjunto completo de registos do Dataflow para um destino externo suportado, como o BigQuery, o Pub/Sub ou o Splunk.

    Neste cenário, os registos externos não são armazenados no Logs Explorer, mas estão disponíveis no destino externo. A utilização de um destino externo dá-lhe mais controlo sobre os custos incorridos pelo armazenamento de registos no Explorador de registos.

    Para ver passos detalhados sobre como controlar a forma como o Cloud Logging encaminha os registos, consulte o artigo Configure e faça a gestão de destinos. Para capturar todos os registos do Dataflow num destino externo, no painel Escolher registos a incluir no destino, no campo Criar filtro de inclusão, introduza a seguinte expressão de filtro:

    resource.type="dataflow_step"
    

    Para encontrar entradas de registo que encaminhou do Cloud Logging para destinos suportados, consulte o artigo Veja registos em destinos de encaminhamento.

    Monitorize mensagens de registo do Dataflow por gravidade

    Os filtros de exclusão não se aplicam a métricas baseadas em registos definidas pelo utilizador. Estas métricas contam o número de entradas de registo que correspondem a um determinado filtro ou registam valores específicos nas entradas de registo correspondentes. Para acompanhar as contagens de mensagens de registo do Dataflow com base na gravidade, pode criar uma métrica baseada em registos para os registos do Dataflow. Os registos são monitorizados mesmo quando as mensagens de registo são excluídas da carregamento.

    As métricas baseadas em registos definidas pelo utilizador são-lhe faturadas. Para informações sobre preços, consulte o artigo Métricas faturáveis.

    Para configurar métricas baseadas em registos definidas pelo utilizador, consulte o artigo Crie uma métrica de contador. Para acompanhar os registos do Dataflow, na secção Seleção de filtros, na caixa Criar filtro, introduza o seguinte texto:

    resource.type="dataflow_step"