本文档介绍如何使用诊断工具收集有关虚拟机 (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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- 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 的凭据。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
从虚拟机收集诊断信息
直接从虚拟机运行诊断工具,或使用 Google Cloud CLI 远程运行诊断工具。在基于 Windows 的虚拟机上,从
C:\Program Files\Google\Compute Engine\diagnostics
目录中找到诊断工具。执行此任务所需的权限
您必须拥有以下权限才能执行此任务:
gcloud
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-12-22。
-