当您使用虚拟机扩展程序管理器管理 Compute Engine 实例(虚拟机)上的扩展程序时,每个虚拟机上的客机代理都会记录有关扩展程序强制执行的事件。您可以使用 Cloud Logging 在 Logs Explorer 中查看这些日志,以监控虚拟机扩展程序并 排查其任何问题。
准备工作
- 阅读 虚拟机扩展程序管理器 文档。
- 了解如何使用 Logs Explorer。
-
如果您尚未设置身份验证,请进行设置。
身份验证用于验证您的身份,以便访问 Cloud de Confiance by S3NS 服务和 API。如需从本地开发环境运行
代码或示例,您可以通过选择以下选项之一向
Compute Engine 进行身份验证:
{1
选择标签页以了解您打算如何使用本页面上的示例:
控制台
当您使用 Cloud de Confiance 控制台访问 Cloud de Confiance by S3NS 服务和 API 时,无需设置身份验证。
gcloud
-
安装 Google Cloud CLI,然后 使用联合身份登录 gcloud CLI。 登录后, 初始化 Google Cloud CLI,方法是运行以下命令:
gcloud init
-
- 设置默认区域和可用区。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的 凭证。
安装 Google Cloud CLI,然后 使用联合身份登录 gcloud CLI。
如需了解详情,请参阅 身份验证文档中的使用 REST 时进行身份验证 。 Cloud de Confiance
查看虚拟机扩展程序日志
如需查看虚拟机扩展程序日志,请使用 Cloud de Confiance 控制台、Google Cloud CLI 或 REST。
控制台
- 在 Cloud de Confiance 控制台中,前往 Logs Explorer 页面。
在查询 字段中,输入以下查询:
resource.type="gce_instance" resource.labels.instance_id="INSTANCE_ID" jsonPayload.@type="type.googleapis.com/google.compute.logging.agentcontrolplane.v1.VmExtensionEvent" jsonPayload.extensionName="EXTENSION_NAME" timestamp >= START_TIME timestamp <= END_TIME替换以下内容:
INSTANCE_ID:虚拟机实例的 ID。EXTENSION_NAME:扩展程序的名称(例如ops-agent)。START_TIME:时间范围的开始时间(例如2024-01-01T00:00:00Z)。END_TIME:时间范围的结束时间(例如2024-02-01T00:00:00Z)。
查询示例:
resource.type="gce_instance" resource.labels.instance_id="123456" jsonPayload.@type="type.googleapis.com/google.compute.logging.agentcontrolplane.v1.VmExtensionEvent" jsonPayload.extensionName="ops-agent" timestamp >= "2024-01-01T00:00:00Z" timestamp <= "2024-02-01T01:00:00Z"点击运行查询 。
gcloud
如需查找虚拟机扩展程序日志,请使用 logging read
command。例如:
gcloud logging read 'resource.type="gce_instance" AND \
resource.labels.instance_id="INSTANCE_ID" AND \
jsonPayload.@type="type.googleapis.com/google.compute.logging.agentcontrolplane.v1.VmExtensionEvent" AND \
jsonPayload.extensionName="YOUR_EXTENSION_NAME" AND \
timestamp >= "START_TIME" AND \
timestamp <= "END_TIME"'
替换以下内容:
INSTANCE_ID:虚拟机实例的 ID。YOUR_EXTENSION_NAME:扩展程序的名称(例如ops-agent)。START_TIME:时间范围的开始时间(例如2024-01-01T00:00:00Z)。END_TIME:时间范围的结束时间(例如2024-02-01T00:00:00Z)。
REST
向 Logging V2
API 发出请求。请求正文必须包含 filter 参数。例如:
POST https://logging.googleapis.com/v2/entries:list
{
"filter": "resource.type="gce_instance" AND
"resource.labels.instance_id="INSTANCE_ID" AND
"jsonPayload.@type="type.googleapis.com/google.compute.logging.agentcontrolplane.v1.VmExtensionEvent" AND
"jsonPayload.extensionName="EXTENSION_NAME" AND
"timestamp >= "START_TIME" AND
"timestamp <= "END_TIME",
"pageSize": 10,
"resourceNames": [
"projects/PROJECT_ID"
]
}
替换以下内容:
INSTANCE_ID:虚拟机实例的 ID。EXTENSION_NAME:扩展程序的名称(例如ops-agent)。START_TIME:时间范围的开始时间(例如2024-01-01T00:00:00Z)。END_TIME:时间范围的结束时间(例如2024-02-01T00:00:00Z)。PROJECT_ID:您的 Cloud de Confiance 项目 ID。
虚拟机扩展程序事件日志条目
以下是虚拟机扩展程序事件的日志条目示例:
{
"insertId": "rsiudxbck",
"jsonPayload": {
"eventMessage": "Enforcement State: Installing ops-agent@4bda61add3e5c989.; Extension Health: Plugin is running ok",
"timestamp": "2026-03-23T16:13:40.496755675Z",
"extensionName": "ops-agent",
"revisionId": "4bda61add3e5c989",
"@type": "type.googleapis.com/google.compute.logging.agentcontrolplane.v1.VmExtensionEvent",
"eventType": "INSTALLED"
},
"resource": {
"type": "gce_instance",
"labels": {
"project_id": "27654321",
"instance_id": "1234567",
"zone": "us-west1-a"
}
},
"timestamp": "2026-03-23T16:13:40.496854498Z",
"severity": "INFO",
"logName": "projects/my-project/logs/compute.googleapis.com%2Fvm_extension_policies",
"receiveTimestamp": "2026-03-23T16:13:40.906133199Z"
}
日志条目详细信息
下表介绍了您可以在虚拟机扩展程序日志中找到的参数:
| 字段 | 说明 |
|---|---|
eventMessage |
一条描述事件的消息,包括强制执行状态和扩展程序运行状况。 |
extensionName |
扩展程序的名称(例如 ops-agent)。
如需查看支持的扩展程序及其名称的列表,请参阅支持的扩展程序。 |
extensionVersion |
已选择安装的扩展程序的版本。 此版本是扩展程序政策中固定的版本,如果没有固定任何版本,则为 最新版本。 |
revisionId |
扩展程序版本的特定二进制文件。每个扩展程序版本都可以有多个修订版本来支持不同的操作系统,Google 会自动为特定虚拟机选择正确的修订版本。向 Google 支持团队提供此修订版本 ID 有助于调试是否为虚拟机选择了正确的二进制文件。 |
eventType |
事件的类型。它可以是以下值之一:
|