如何查看GCP操作历史及排查VM莫名消失原因
查看GCP平台操作历史记录
有三种常用方式可以查看GCP的操作历史:
1. 通过GCP控制台(Cloud Logging)
- 登录GCP控制台,搜索并进入Cloud Logging页面
- 在日志查询界面,选择「Admin Activity」日志视图(该视图默认记录所有管理类操作)
- 可通过时间范围、项目ID、资源类型(如Compute Engine)、操作关键词(如
create/delete)等过滤条件缩小查询范围
2. 使用gcloud命令行工具
- 查询最近7天的所有管理操作日志:
gcloud logging read "logName:projects/[你的项目ID]/logs/cloudaudit.googleapis.com%2Factivity" --limit=100 --order=desc --format=json - 仅查询与VM实例相关的操作日志:
gcloud logging read "resource.type=gce_instance AND logName:projects/[你的项目ID]/logs/cloudaudit.googleapis.com%2Factivity" --limit=50 --order=desc
核查VM实例消失的原因及相关操作
针对VM莫名消失的情况,可通过以下步骤排查:
1. 定位删除/终止操作记录
- 在Cloud Logging的「Admin Activity」视图中,添加过滤条件:
resource.type=gce_instance AND (protoPayload.methodName:"delete" OR protoPayload.methodName:"stop"),能找到执行操作的账号(或服务账号)、操作时间及具体触发原因 - 使用gcloud命令直接查询目标实例的关键状态:
该命令会返回实例的最终状态、状态描述(若有错误信息)及删除时间戳gcloud compute instances describe [实例名称] --zone=[实例所在区域] --format="value(status, statusMessage, deletionTimestamp)"
2. 排查系统触发的自动操作
如果日志中没有人工操作记录,可能是系统自动触发的,需检查:
- 实例是否属于管理实例组(MIG):若开启了自动伸缩策略,缩容操作会自动删除实例
- 预付费实例是否到期:预付费实例到期未续费会被自动终止
- 实例关联的磁盘是否被删除:磁盘被删除会导致实例无法启动或直接被清理
- 查看系统事件日志:在Cloud Logging中搜索
logName:projects/[你的项目ID]/logs/compute.googleapis.com%2Fsystem_event_logs,可找到GCP系统触发的操作(如因资源不足自动终止实例)
内容的提问来源于stack exchange,提问作者Rodrigo Oliveira
相关产品推荐
相关产品推荐

