Compute Engine 活动日志与审核日志并不相同。审核日志不但包含旧版活动日志所含的信息,而且还会包含其他信息。我们建议您使用审核日志来代替活动日志。如果您已在使用活动日志,请参阅从活动日志迁移到审核日志。
Compute Engine 提供的活动日志可让您跟踪会对您的项目产生影响的特定事件,例如 API 调用和系统事件。 具体而言,活动日志会提供有关以下各项的信息:
- Compute Engine API 调用:
GCE_API_CALL
事件是会更改资源状态的 API 调用。例如,用于创建磁盘、更新实例元数据、创建实例组及更改机器类型的 API 调用会记录在活动日志中。不会更新资源的 API 调用(例如get
和list
请求)则不会记录在活动日志中。 - 操作日志:当 API 调用完成更改资源状态时,系统会记录
GCE_OPERATION_DONE
事件,而 Compute Engine 会返回活动日志中所记录的已完成操作事件。 - 系统日志:当 Compute Engine 执行系统事件时,系统会将
GCE_SYSTEM_EVENT
事件记录在活动日志中。例如,透明维护事件会记录为系统事件。
例如,对于 API 事件,活动日志会提供 API 请求的开始和结束时间、请求正文的细节、发出 API 请求的授权用户以及请求端点等详细信息。 您可以下载活动日志来搜索特定的 API 请求或查看由 Compute Engine 发起的系统事件。
活动日志不提供有关项目账单或使用情况的信息,例如虚拟机实例的运行时间或费用。如需了解账单日志,请参阅导出账单功能。如需了解用量日志,请参阅查看用量报告。
活动日志作为 Cloud Logging 服务的一部分提供。如需详细了解 Logging 的一般信息,请参阅 Cloud Logging 文档。
准备工作
- 熟悉 Cloud Logging。
-
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 Trusted Cloud by S3NS 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以通过选择以下选项之一向 Compute Engine 进行身份验证:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, sign in to the gcloud CLI with your federated identity and then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- 针对项目的
logging.logServiceIndexes.list
权限 - 针对项目的
logging.logServices.list
权限 - 在 Trusted Cloud 控制台中,前往日志记录页面。
- 在日志浏览器中,从第一个下拉列表中选择您的资源类型并进行过滤。
- 在所有日志下拉列表中选择 compute.googleapis.com/activity_log,以查看 Compute Engine 活动日志。
compute.googleapis.com/activity_log
:作为log
字段的值metadata
:描述时间戳等常规信息structPayload
:包含日志条目的具体内容GCE_API_CALL
:表示更新了资源的 REST API 调用。GCE_OPERATION_DONE
:API 请求完成后,无论是否成功,系统都会记录此事件类型。GCE_SYSTEM_EVENT
:由 Compute Engine 发起的系统事件。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
After installing the Google Cloud CLI, sign in to the gcloud CLI with your federated identity and then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Trusted Cloud 身份验证文档中的使用 REST 时进行身份验证。
执行此任务所需的权限
您必须拥有以下权限才能执行此任务:
查看日志
默认情况下,所有 Compute Engine 项目都会启用活动日志记录。
您可以通过 Trusted Cloud console中的 Logs Explorer 查看项目的活动日志:
路由日志
如需了解如何导出活动日志,请参阅 Cloud Logging 文档中的配置和管理接收器。
识别日志文件
当您将日志导出到 Cloud Storage 时,系统会按日志条目对象文档所述的结构存储日志文件。
Compute Engine 日志文件会按以下目录结构进行存储:
<bucket>/compute.googleapis.com/activity_log/<year>/<month>/<day>
以下是一个存储在名为
my-bucket
的 Cloud Storage 存储桶中的日志文件名示例:my-bucket/compute.googleapis.com/activity_log/2014/10/31/20:00:00_20:59:59_S0.json
在 BigQuery 中,活动日志会存储在一组表中,其中每个表对应一种日志类型和一个日期,并使用以下格式来命名:
<dataset>.compute_googleapis_com_activity_log_YYYYMMDD
如需了解如何在 BigQuery 中查询活动日志,请参阅 BigQuery 中的日志条目。
读取活动日志
活动日志结构如 LogEntry 类型文档所述。
Compute Engine 活动日志包含以下内容:
如需详细了解每条日志条目提供的通用字段,您可以查看 LogEntry 说明;但如需了解活动日志条目的载荷内容(这些内容特定于 Compute Engine),请参阅下文中的说明。
载荷内容
日志条目的内容会以 JSON 对象格式提供,并存储在
structPayload
字段中。structPayload
字段包含以下信息:字段 类型 说明 actor
字符串 执行操作的用户或服务账号的电子邮件。此内容与 user_id
相同。error
字符串 如果在此事件期间发生任何错误,则提供错误详细信息。如果没有错误,则省略此字段。错误通常将造成请求无法成功完成。您可以使用此字段来调试失败的请求。 event_subtype
字符串 将特定子类型描述为 API 方法。 例如,插入新实例的请求会显示为
compute.instances.insert
;删除地址资源的请求会显示为compute.addresses.delete
。请参阅 API 参考,获取 API 方法的完整列表。
event_timestamp_us
时间戳 所记录事件的时间戳(从标准 Epoch 起算,以微秒为单位)。此内容与 metadata.timestamp
相同。event_type
字符串 描述一般事件类型。 可以是下列值之一:
info
字符串 包含额外信息的可选字段(如果适用)。如果没有可显示的额外信息,则省略此字段。 operation
字符串 当发出更新或更改任何资源的 API 请求时,系统会创建相应的操作对象以跟踪请求完成情况。这一属性会描述此事件的操作对象,并提供操作名称、操作地区或区域以及操作 ID 等信息。 request
JSON 包含原始 API 请求正文。 resource
JSON 描述此事件正在修改的特定资源。 例如,虚拟机 (VM) 实例会被视为资源;虚拟机的资源属性示例如下所示: "resource": { "type": "instance", "name": "example-instance", "id": "0", "zone": "us-central1-f" }
API 参考文档中详述了资源类型的列表。
注意:如果某个操作会影响多个资源,则可能会有多个日志条目具有相同的
trace_id
。trace_id
字符串 系统提供的跟踪 ID,用于对一个操作所触发的相关日志进行分组。例如: trace_id: "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e"
user_agent
字符串 描述执行了此请求的客户端。例如,如果您使用 Cloud Java 客户端库发出请求,则用户代理为 Google-API-Java-Client
。version
字符串 当前的日志格式版本会指示 Compute Engine 日志架构。当前版本为 1.2。 注意:Compute Engine API 版本控制不同于日志格式版本控制。
warning
字符串 如果在此事件期间出现任何警告,则提供这些警告的详细信息。警告是参考信息,不影响请求,这和错误不同。 日志条目示例
例如,以下日志条目描述了创建虚拟机的 API 请求:
{ "log": "compute.googleapis.com/activity_log", "insertId": "2015-09-16|13:49:42.532185-07|10.106.9.208|335899593", "metadata": { "severity": "INFO", "projectId": "835469197146", "serviceName": "compute.googleapis.com", "zone": "us-central1-f", "labels":{ "compute.googleapis.com/resource_id":"0", "compute.googleapis.com/resource_name":"example-instance", "compute.googleapis.com/resource_type":"instance", "compute.googleapis.com/resource_zone":"us-central1-f" }, "timestamp": "2015-09-16T20:49:42.423637Z" }, "structPayload": { "version": "1.2", "trace_id": "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e", "event_timestamp_us": "1442436582423637", "event_type": "GCE_API_CALL", "event_subtype": "compute.instances.insert", "resource": { "type": "instance", "name": "example-instance", "id": "0", "zone": "us-central1-f" }, "actor": { "user": "user@example.com" }, "ip_address": "", "user_agent": "apitools-client/1.0", "request": { "url": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances", "body": "{ \"canIpForward\":false, \"description\":\"\", \"disks\":[{ \"autoDelete\":true, \"boot\":true, \"deviceName\":\"example-instance\", \"initializeParams\":{ \"diskSizeGb\":\"10\", \"diskType\":\"https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/diskTypes/pd-standard\", \"sourceImage\":\"https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-8-jessie-v20150818\" }, \"mode\":\"READ_WRITE\", \"type\":\"PERSISTENT\" }], \"machineType\":\"https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/machineTypes/n1-standard-1\", \"metadata\":{ \"items\":[] }, \"name\":\"example-instance\", \"networkInterfaces\":[{ \"accessConfigs\":[{ \"name\":\"External NAT\", \"type\":\"ONE_TO_ONE_NAT\" }], \"network\":\"https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default\" }], \"scheduling\":{ \"automaticRestart\":true, \"onHostMaintenance\":\"MIGRATE\", \"preemptible\":false }, \"serviceAccounts\":[{ \"email\":\"default\", \"scopes\":[ \"https://www.googleapis.com/auth/devstorage.read_only\", \"https://www.googleapis.com/auth/logging.write\" ] }], \"tags\":{ \"items\":[] }, \"zone\":\"https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f\" }" }, "operation": { "type": "operation", "name": "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e", "id": "291347737657178184", "zone": "us-central1-f" } } }
已弃用的活动日志条目
以下活动日志条目将于 2020 年 6 月 1 日停用且无替代项:
受监控的资源类型 事件子类型 gce_backend_service
BackendServiceConfigProgramming
gce_instance
RE_ENCRYPT_SSL_CERTIFICATE_FLOW
gce_instance
addFirewallRuleToSecurityPolicy
gce_instance
attachCloudLink
gce_instance
attachFirewallSecurityPolicy
gce_instance
compute.instanceGroupManagers.updateHealth
gce_instance
compute.instanceGroups.detachHealthCheck
gce_instance
compute.instanceNetworkConfig.updateName
gce_instance
compute.regionInstanceGroups.attachHealthCheck
gce_instance
compute.regionInstanceGroups.detachHealthCheck
gce_instance
createFirewallSecurityPolicy
gce_instance
deleteFirewallSecurityPolicy
gce_instance
detachFirewallSecurityPolicy
gce_instance
patchFirewallRuleInSecurityPolicy
gce_instance
removeCloudLink
gce_instance
removeFirewallRuleFromSecurityPolicy
gce_instance
updateFirewallSecurityPolicy
gce_instance
updateVpnTunnel
gce_instance_group
compute.instanceGroups.attachHealthCheck
gce_instance_group
compute.instanceGroups.attachNetworkInterfaces
gce_instance_group
compute.instanceGroups.detachHealthCheck
gce_instance_group
compute.regionInstanceGroups.attachHealthCheck
gce_instance_group
compute.regionInstanceGroups.detachHealthCheck
gce_instance_template
compute.zoneInstanceTemplates.insert
gce_network
compute.networks.switchLegacyToCustomMode
gce_project
compute.projects.moveProjectNetworking
gce_reserved_address
compute.addresses.insertDnsForwarding
gce_reserved_address
compute.addresses.insertNatAddress
gce_ssl_certificate
RE_ENCRYPT_SSL_CERTIFICATE_FLOW
gce_ssl_certificate
SslCertificateAddManagedCertificateChallenge
gce_ssl_certificate
SslCertificateProvisionManagedCertificate
gce_ssl_certificate
SslCertificateRemoveManagedCertificateChallenge
gce_subnetwork
compute.subnetworks.createOrUpdateVirtualSubnetwork
vpn_tunnel
updateVpnTunnel
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-06-24。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-06-24。"],[[["Compute Engine activity logs track events such as API calls, operation completions, and system events that affect a project's resources, but they are not the same as audit logs and do not track billing or usage."],["Activity logs record specific actions like creating a disk, updating instance metadata, and system maintenance events, offering details about request times, request bodies, the authorized user, and the request endpoint."],["Activity logs are provided as part of the Cloud Logging service, and are enabled by default for all Compute Engine projects, accessible via the Logs Explorer in the Google Cloud console."],["The logs can be exported to Cloud Storage and BigQuery, with a structured format that includes detailed information in the `structPayload` field, such as the actor, event type, request details, and affected resource."],["Certain activity log entries related to specific monitored resources and event subtypes, as detailed in the provided table, will be discontinued and replaced by audit logs as of June 1, 2020."]]],[]] -