监控和调试工作负载


在构建、测试和运行工作负载时,监控其进度以调试问题会很有帮助。以下工具可用于监控和调试:

日志记录

与任何命令行程序一样,工作负载 STDOUTSTDERR 可以在控制台中显示。工作负载运维者也可以通过将 Confidential Space 虚拟机上的 tee-container-log-redirect 元数据键设置为 truecloud_logging,并确保运行工作负载的服务账号具有 logging.logWriter 角色,将其重定向到 Cloud Logging。

工作负载作者可以使用 log_redirect 启动政策来阻止重定向。

为降低所承担的风险,请记录最小信息量,并且不要记录敏感信息。

查看 Confidential Space 日志

如果关联到 Confidential Space 虚拟机的服务账号已被授予 logging.logWriter 角色,并且您已将日志重定向到 Cloud Logging,则可以通过查看虚拟机日志来排查错误:

  1. 转到 Google Cloud 控制台中工作负载操作员项目中的 Logging

    转到 Logging

  2. 点击查询标签页旁边的时间范围,以设置要查看的日志记录期。

  3. 按以下日志字段(如果可用的话)过滤日志:

    • 资源类型:虚拟机实例

    • 实例 ID:机密虚拟机的实例 ID

    • 日志名称:confidential-space-launcher

  4. 阅读失败消息,了解问题所在。资源可能未正确设置,数据协作者的 WIP 提供方中的属性条件可能与 Confidential Space 工作负载所做的声明不匹配,或者工作负载本身可能存在错误。

返回代码

运行启动器和工作负载时,返回代码会显示在控制台中并且可重定向到 Cloud Logging。

下表介绍了返回代码:

编码 定义 虚拟机停止行为
0 使用生产映像时,工作负载已成功完成。 工作负载完成后,虚拟机会停止。
1 使用生产映像时,工作负载或启动器返回错误。 虚拟机会在返回错误后停止。
3 启动器因其 tee-restart-policy 失败后而重启。 虚拟机会重启。
4 使用调试映像时,工作负载或启动器已完成运行,且虚拟机现已空闲。 工作负载完成或返回错误后,虚拟机不会停止。这样,您就可以通过 SSH 调试其工作负载。

如果工作负载失败,工作负载操作员只会收到 workload finished with a non-zero return code 消息,而不会提供进一步的背景信息。对于生产映像,可以通过 tee-restart-policy=OnFailure 将启动器设置为在失败时重启。