本文档介绍如何使用诊断工具收集有关虚拟机 (VM) 实例的信息。在联系支持团队之前,请使用该工具收集的信息进行基本的问题排查。
该工具会执行以下操作:
仅从您指定的虚拟机收集信息。
仅将这些信息存储在您的项目中。
将信息存储在 Cloud Storage 存储桶中 10 天,默认情况下,只有您才能访问。
在与 Google 支持团队共享收集的信息之前,请执行以下操作:
查看机密信息或个人身份信息 (PII) 的相关信息。
根据需要删除或遮盖信息。
从虚拟机收集的诊断信息
此诊断工具会收集以下方面的信息:
磁盘:
事件:
- Windows 事件,包括应用事件和系统事件
网络:
程序:
- 有关进程、计划任务、服务和 Google Kubernetes Engine (GKE) 的 WMI 对象信息
系统:
- 有关用户的 WMI 对象信息、使用此脚本的远程桌面协议 (RDP) 设置,来自 bcdedit、driverquery、msinfo32、pnputil 和 systeminfo 的输出以及内存转储日志。
如需详细了解 Compute Engine 如何收集这些信息,请参阅公共代码库。
限制
- 您只能从基于 Windows Server 创建的虚拟机收集诊断信息。
准备工作
-
默认情况下,Compute Engine 会在高于
v20190714
的 Windows Server 映像公开版本上安装诊断工具。如果您的 Windows Server 映像版本低于v20190714
,或者您使用的是自定义映像,请使用googet install google-compute-engine-diagnostics
命令安装该工具。 -
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以通过选择以下选项之一向 Compute Engine 进行身份验证:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
-
针对项目的
roles/iam.serviceAccountTokenCreator
授予对项目的
iam.serviceAccountTokenCreator
角色:gcloud projects add-iam-policy-binding PROJECT_ID \ --member user:EMAIL \ --role roles/iam.serviceAccountTokenCreator
请替换以下内容:
PROJECT_ID
:项目 IDEMAIL
:要向其授予iam.serviceAccountTokenCreator
角色的电子邮件地址
将诊断信息作为对象导出到 Cloud Storage 存储桶。
gcloud compute diagnose export-logs VM_NAME \ [--collect-process-traces]
可选的
--collect-process-traces
标志指定诊断工具是否收集正在运行的系统的 10 分钟跟踪记录,包括 CPU、磁盘、文件和网络活动。在基于 Windows 的虚拟机上,它使用 Windows 性能记录器。请替换以下内容:
VM_NAME
:要从中收集诊断信息的虚拟机的名称
日志导出过程可能需要几分钟才能完成。使用
gcloud compute instances get-serial-port-output
命令可以查看状态。Compute Engine 会将包含诊断信息的存储桶的名称设置为
diagnostic_logs_project_PROJECT_NUMBER
格式。使用 gcloud CLI 或者通过Google Cloud 控制台中的 Cloud Storage 页面查看或下载该存储桶:了解如何从虚拟机捕获屏幕截图。
了解如何排查 Windows 实例问题。
了解如何排查 RDP 问题。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
从虚拟机收集诊断信息
直接从虚拟机运行诊断工具,或使用 Google Cloud CLI 远程运行诊断工具。在基于 Windows 的虚拟机上,从
C:\Program Files\Google\Compute Engine\diagnostics
目录中找到诊断工具。执行此任务所需的权限
您必须拥有以下权限才能执行此任务:
gcloud
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-08。
-