Enviar registros para o Cloud Logging

O Workflows gera registros de execução no Cloud Logging automaticamente.

Também é possível ativar o registro de chamadas. Ou, ainda, criar registros personalizados que usam a função sys.log na origem. O registro de chamadas e os registros personalizados permitem controlar quando os registros são enviados para o Logging durante uma execução de fluxo de trabalho e podem ser particularmente úteis para depurar seu fluxo de trabalho.

Para detalhes, incluindo os arquivos proto de geração de registros engine_call e executions_system, consulte este repositório do GitHub.

Registros de execução

Cada execução de fluxo de trabalho aciona automaticamente pelo menos dois registros: um no início da execução e outro no final.

Para mais informações sobre os registros da plataforma do Workflows disponíveis no Logging, consulte Registros do Google Cloud Platform.

Registro de chamadas

É possível definir uma sinalização para que cada etapa de chamada durante a execução do fluxo de trabalho seja registrada, assim como os nomes de etapas, nomes de funções, argumentos de função e respostas de chamada. Também é possível registrar exceções que interrompem uma chamada.

Somente as etapas explícitas da chamada são registradas, como chamadas para subfluxos de trabalho ou funções de biblioteca. Chamadas de expressões ou dentro de funções de biblioteca padrão (por exemplo, http.post em sys.log) e conectores internos não são registrados.

É possível aplicar o registro de chamadas usando o Console do Google Cloud ou a ferramenta de linha de comando gcloud.

Console

  1. Acesse a página Fluxos de trabalho no Console do Google Cloud:
    Acessar fluxos de trabalho

  2. Na página Fluxos de trabalho, selecione um fluxo de trabalho para acessar a página de detalhes dele.

  3. Na página Detalhes do fluxo de trabalho, clique em Executar.

  4. Opcionalmente, na página Executar fluxo de trabalho, é possível especificar o nível de registro de chamadas que você quer aplicar durante a execução do fluxo de trabalho.

    Na lista suspensa Registrar chamadas, selecione uma destas opções:

    • none: nenhum registro de chamadas. Esse é o nível padrão.
    • log-all-calls: registra todas as chamadas para subfluxos de trabalho ou funções de biblioteca e os resultados delas.
    • log-errors-only: registra apenas quando uma chamada é interrompida devido a uma exceção.
  5. Clique em Executar.

gcloud

Para executar um fluxo de trabalho e aguardar a conclusão da execução, digite o seguinte comando:

gcloud workflows run WORKFLOW_NAME \
    --call-log-level=CALL_LOGGING_LEVEL \
    --data=DATA

Ou, para executar um fluxo de trabalho sem aguardar a tentativa de execução, digite o seguinte comando:

gcloud workflows execute WORKFLOW_NAME \
    --call-log-level=CALL_LOGGING_LEVEL \
    --data=DATA

Substitua:

  • WORKFLOW_NAME: o nome do fluxo de trabalho.
  • CALL_LOGGING_LEVEL: opcional. Nível de registro de chamadas a ser aplicado durante a execução. Pode ser um dos seguintes:
    • none: nenhum registro de chamadas. Esse é o nível padrão.
    • log-all-calls: registra todas as chamadas para subfluxos de trabalho ou funções de biblioteca e os resultados delas.
    • log-errors-only: registra apenas quando uma chamada é interrompida devido a uma exceção.
  • DATA: opcional. Argumentos de ambiente de execução para seu fluxo de trabalho no formato JSON.

Registros personalizados

Para criar uma entrada de registro no Logging durante uma execução de fluxo de trabalho, defina uma etapa no fluxo que faz uma chamada para a função sys.log padrão da biblioteca:

YAML

  - step1:
      assign:
          - varA: "Hello"
          - varB: "World"
  - logStep:
      call: sys.log
      args:
          text: TEXT
          severity: SEVERITY 
  - step2:
      return: ${varA + " " + varB}
    

JSON

    [
      {
        "step1": {
          "assign": [
            {
              "varA": "Hello"
            },
            {
              "varB": "World"
            }
          ]
        }
      },
      {
        "logStep": {
          "call": "sys.log",
          "args": {
            "text": "TEXT",
            "severity": "SEVERITY"
          }
        }
      },
      {
        "step2": {
          "return": "${varA + " " + varB}"
        }
      }
    ]
      

Ao criar uma entrada de registro, defina:

  • TEXT: obrigatório. O texto a ser registrado. Se precisar registrar os valores de um mapa, use ${json.encode_to_string(myMap)}.
  • SEVERITY: opcional. O nível de gravidade da entrada de registro. Por exemplo, INFO, WARNING ou CRITICAL.

Para mais informações, consulte a função de referência sys.log.

Permissões necessárias

Para aplicar o registro de chamadas ou enviar registros personalizados ao Logging, um fluxo de trabalho precisa estar associado a uma conta de serviço que inclua a permissão logging.logEntries.create, por exemplo, o papel roles/logging.logWriter. Se você precisar alterar a conta de serviço atualizada com seu fluxo de trabalho, consulte Atualizar um fluxo de trabalho. Para saber mais sobre como criar contas de serviço e atribuir papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Ver registros do fluxo de trabalho

É possível ver os registros no Workflows ou no Logging. Para ver os registros de um único fluxo de trabalho, use a guia Registros do Workflows. Para ter uma visualização agregada dos registros de todos os fluxos de trabalho, use a página Explorador de registros do Logging.

Ver registros no Workflows

Para ver os registros de um fluxo de trabalho no Workflows, faça o seguinte:

  1. Acesse a página Fluxos de trabalho no Console do Google Cloud:
    Acessar fluxos de trabalho

  2. Para acessar os registros de um fluxo de trabalho, clique no nome dele para acessar a página Detalhes.

  3. Para visualizar os registros, clique em Registros.

  4. Para filtrar os registros por gravidade, selecione o tipo de registro a ser exibido na lista Padrão. Por padrão, os registros de todos os níveis de gravidade são exibidos.

A guia Registros na página Detalhes de um fluxo de trabalho exibe os seguintes tipos de registros:

  • Registros enviados para o Logging

  • Registros de auditoria de qualquer operação realizada no fluxo de trabalho, como atualizações na definição do fluxo de trabalho

Ver registros no Logging

Para ver os registros no Logging, faça o seguinte:

  1. Acesse a página Explorador de registros no Console do Cloud:
    Acessar o explorador de registros

  2. No Criador de consultas, clique em Recurso e digite workflow. Selecione Cloud Workflow na lista e clique em Adicionar.

    Geração de registros de fluxo de trabalho

  3. Clique em Run query.

Para saber mais sobre como visualizar registros no Logging, consulte Usar o Explorador de registros.

A seguir