Enviar registros de ejecución a Cloud Logging

Workflows genera 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. Esto puede ser especialmente útil al depurar tu flujo de trabajo.

Para obtener más información, incluidos los archivos 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 inicio de la ejecución y otro al final.

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

Registro de llamadas

Puedes definir una marca para que se registre cada paso de llamada durante la ejecución de tu flujo de trabajo y se devuelvan 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 cualquier excepción que se detecte o que detenga una llamada.

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

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

Cuando apliques 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 necesario. El nivel de registro de ejecución tiene prioridad sobre cualquier nivel de registro de flujo de trabajo, a menos que no se especifique (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 entrada de registro definido por 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 haga 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. El texto que se va a registrar. Si necesitas registrar los valores de un mapa, usa ${json.encode_to_string(myMap)}.
  • SEVERITY: opcional. 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 obligatorios

Para aplicar el registro de llamadas o enviar registros personalizados a Logging, se debe asociar un flujo de trabajo a 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 Actualizar un flujo de trabajo. Para obtener más información sobre cómo crear cuentas de servicio y asignar roles, consulta el artículo Administra el acceso a proyectos, carpetas y organizaciones.

Ver registros de flujo de trabajo

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

Ver registros en Workflows

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

  1. En la Google Cloud consola, ve a la página Flujos de trabajo:

    Ve a Workflows

  2. Para acceder a los registros de un flujo de trabajo, haz clic en su nombre para ir a la página 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 quieras 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 las operaciones realizadas en el flujo de trabajo, como las actualizaciones de la definición del flujo de trabajo

Ver registros en Logging

Para ver los registros en Logging, haga lo siguiente:

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

    Ir a Explorador de registros

  2. En el Creador de consultas, haga clic en Recurso e introduzca workflow. Selecciona Cloud Workflow en la lista y haz clic en Añadir.

    Registro de flujos de trabajo

  3. Haz clic en Realizar una consulta.

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

Siguientes pasos