Envía registros a Cloud Logging

Workflows genera registros de ejecución de forma automática para las ejecuciones de flujos de trabajo en Cloud Logging.

También puedes habilitar el registro de llamadas. O bien, puedes crear registros personalizados que usen la función sys.log en tu fuente. El registro de llamadas y los registros personalizados te permiten controlar cuándo se envían los registros a Logging durante la ejecución de un flujo de trabajo y pueden ser particularmente útiles cuando depuras tu flujo de trabajo.

Para obtener más detalles, incluidos los archivos de protocolo de registro engine_call y executions_system, consulta este repositorio de GitHub.

Registros de ejecución

Cada ejecución de flujo de trabajo activa automáticamente al menos dos registros de ejecución: uno al comienzo y otro al final.

Para obtener más información sobre los registros de la plataforma de Workflows que están disponibles en Logging, consulta los registros de la plataforma de Google Cloud.

Registro de llamadas

Puedes configurar una marca para que se registre cada paso de llamada durante la ejecución del flujo de trabajo y se muestren los nombres de los pasos, los nombres de las funciones, los argumentos de las funciones y las respuestas a las llamadas. También puedes registrar cualquier excepción que se detecte o que detenga una llamada.

Solo se registran los pasos de llamada explícitos; por ejemplo, las llamadas a subflujos de trabajo o a funciones de la biblioteca. Las llamadas desde las expresiones o dentro de las funciones de la biblioteca estándar (por ejemplo, http.post en sys.log) y dentro de los conectores no se registran.

Los encabezados de solicitudes HTTP Authorization se ocultan de los registros de las llamadas HTTP.

Cuando aplicas el registro de llamadas a una definición de flujo de trabajo o a la ejecución de un flujo de trabajo, puedes especificar el nivel de registro requerido. El nivel de registro de ejecución tiene prioridad sobre cualquier nivel de registro de flujo de trabajo, a menos que no se especifique el nivel de registro de ejecución (el valor predeterminado); en ese caso, se aplica el nivel de registro de flujo de trabajo.

Ten en cuenta que el límite de tamaño de las entradas de registro que establece Cloud Logging también se aplica al registro de llamadas.

Registros personalizados

Para crear una entrada de registro en Logging durante la ejecución de un flujo de trabajo, define un paso en el flujo de trabajo que realice una llamada a la función sys.log de la biblioteca estándar:

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}"
        }
      }
    ]
      

Define lo siguiente cuando crees una entrada de registro:

  • TEXT: obligatorio. El texto que se registrará Si necesitas registrar los valores de un mapa, usa ${json.encode_to_string(myMap)}.
  • SEVERITY: es opcional. El nivel de gravedad de la entrada de registro. Por ejemplo, INFO, WARNING o CRITICAL.

Para obtener más información, consulta la referencia de la función sys.log.

Permisos necesarios

Para aplicar el registro de llamadas o enviar registros personalizados a Logging, un flujo de trabajo debe estar asociado con una cuenta de servicio que incluya el permiso logging.logEntries.create (por ejemplo, la función roles/logging.logWriter). Si necesitas cambiar la cuenta de servicio actualizada con tu flujo de trabajo, consulta Actualiza un flujo de trabajo. Para obtener más información sobre cómo crear cuentas de servicio y asignar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Ver registros de flujo de trabajo

Puedes ver los registros en Workflows o Logging. Para ver los registros de un solo flujo de trabajo, usa la pestaña Registros en Workflows. Para obtener una vista agregada de los registros de todos tus flujos de trabajo, usa la página Explorador de registros en Logging.

Ver registros en Workflows

Para ver los registros de un flujo de trabajo en Workflows, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Workflows.

    Ir a Workflows

  2. Si deseas acceder a los registros de un flujo de trabajo, haz clic en el nombre del flujo de trabajo para ir a su página de Detalles.

  3. Para ver los registros, haz clic en Registros.

  4. Para filtrar los registros por gravedad, en la lista Predeterminado, selecciona el tipo de registro que se mostrará. De forma predeterminada, se muestran los registros de todos los niveles de gravedad.

En la pestaña Registros de la página Detalles de un flujo de trabajo, se muestran los siguientes tipos de registros:

  • Registros enviados a Logging

  • Registros de auditoría de cualquier operación realizada en el flujo de trabajo, como actualizaciones a la definición del flujo de trabajo

Visualiza registros en Logging

Para ver los registros en Logging, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Explorador de registros:

    Ir al Explorador de registros

  2. En el Compilador de consultas, haz clic en Recurso y, luego, ingresa workflow. Selecciona Cloud Workflow de la lista y haz clic en Agregar.

    Registro de flujos de trabajo

  3. Haz clic en Ejecutar consulta.

Para obtener más información sobre cómo ver registros en Logging, consulta Usa el Explorador de registros.

¿Qué sigue?