Envía registros de ejecución a Cloud Logging

Workflows generan automáticamente registros de ejecución para las ejecuciones de flujos de trabajo en Cloud Logging.

También puedes habilitar el registro de llamadas. También 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 especialmente útiles cuando depuras tu flujo de trabajo.

Para obtener más detalles, incluidos los archivos de proto 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 de una ejecución y uno al final.

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

Registro de llamadas

Puedes establecer una marca para que se registre cada paso de llamada durante la ejecución de tu flujo de trabajo y se muestren los nombres de los pasos, los nombres de las funciones, los argumentos de las funciones y las respuestas de las llamadas. También puedes registrar las excepciones que se detecten o que detengan una llamada.

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

Los encabezados de la solicitud Authorization HTTP 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 (predeterminado). En ese caso, se aplica el nivel de registro del flujo de trabajo.

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

Registros personalizados

Para crear una entrada de registro en el registro durante una ejecución de 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}"
        }
      }
    ]
      

Cuando crees una entrada de registro, define lo siguiente:

  • TEXT: Obligatorio. Es 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, se debe asociar un flujo de trabajo con una cuenta de servicio que incluya el permiso logging.logEntries.create (por ejemplo, el rol 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.

Cómo ver los registros del flujo de trabajo

Puedes ver los registros en Workflows o en Registro. 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 Registro.

Cómo 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. Para acceder a los registros de un flujo de trabajo, haz clic en su nombre para ir a su página Detalles.

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

  4. Para filtrar los registros por gravedad, en la lista Predeterminada, selecciona el tipo de registro que deseas 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 que se realice en el flujo de trabajo, como actualizaciones de la definición del flujo de trabajo

Visualiza registros en Logging

Para ver los registros en Logging, sigue estos pasos:

  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 en la lista y haz clic en Agregar.

    Registro del flujo de trabajo

  3. Haz clic en Ejecutar consulta.

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

¿Qué sigue?