查看虚拟机扩展程序日志

当您使用虚拟机扩展程序管理器管理 Compute Engine 实例(虚拟机)上的扩展程序时,每个虚拟机上的客机代理都会记录有关扩展程序强制执行的事件。您可以使用 Cloud LoggingLogs Explorer 中查看这些日志,以监控虚拟机扩展程序并 排查其任何问题。

准备工作

  • 阅读 虚拟机扩展程序管理器 文档。
  • 了解如何使用 Logs Explorer
  • 如果您尚未设置身份验证,请进行设置。 身份验证用于验证您的身份,以便访问 Cloud de Confiance by S3NS 服务和 API。如需从本地开发环境运行 代码或示例,您可以通过选择以下选项之一向 Compute Engine 进行身份验证: {1

    选择标签页以了解您打算如何使用本页面上的示例:

    控制台

    当您使用 Cloud de Confiance 控制台访问 Cloud de Confiance by S3NS 服务和 API 时,无需设置身份验证。

    gcloud

    1. 安装 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。

控制台

  1. 在 Cloud de Confiance 控制台中,前往 Logs Explorer 页面。

    转到 Logs Explorer

  2. 查询 字段中,输入以下查询:

    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"
    
  3. 点击运行查询

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 事件的类型。它可以是以下值之一:
  • CRASHED:扩展程序崩溃。此值表示 扩展程序曾经安装并成功启动,但随后停止运行。
  • INSTALL_FAILED:扩展程序安装失败。
  • INSTALLED:扩展程序已安装并成功启动。
  • ROLLBACK_FAILED:扩展程序回滚失败。
  • ROLLED_BACK:扩展程序回滚成功。
  • INCOMPATIBLE:没有扩展程序修订版本候选满足安装要求(例如,操作系统或架构)。
  • SERVICE_DISABLED:需要此扩展程序的服务已停用。