激活从 Workflows 到 Stackdriver 的日志

Activate logs from Workflows to Stackdriver

如何从 Google 工作流正确地将日志发送到 Stackdriver?

根据我创建的文档:

- logStep1:
       call: sys.log
       args:
         text: "Step 2 launched accordingly"
         severity: INFO

工作流按预期启动和完成,但是,当我进入 stackdriver 查找我的日志条目时,它没有显示,只有“审核日志”,其余部分无处可寻。

Google 文档说明了查找这些日志的某些步骤,但即使是:resource.type="workflows.googleapis.com/Workflows" 在 stackdriver 过滤器中也被标记为不正确。

我希望在蓝色图标 (INFO) 条目下看到我的文本有效负载,但遗憾的是,不存在。

我在日志步骤中是否遗漏了什么?

使用的资源: https://cloud.google.com/workflows/docs/troubleshooting#sending-logs

重新阅读文档后说它需要 Log Writer 权限,我以为权限会从调用者那里继承,但事实并非如此,一旦必须创建一个特定的服务帐户,所有需要的权限,包括能够将信息发送到 Stackdriver 事件流的 Log Writer 或 Log Admin。

因此,要解决此问题,请检查:

  1. 您有一个手工制作的服务帐户,而不是自动生成的帐户。
  2. 该 SA 拥有所有必要的 API 和访问您的端点的权限以及日志写入能力。
  3. 创建流时必须使用创建的 SA(而不是生成的 SA)
  4. 试一试。

我已经测试了好几次,都有效。