我想获取 gcp 中实例的停止时间数据。即从实例停止时开始。我想在脚本中实现它以进一步使用它并将服务器移动到快照。谁能帮助我如何使用
gcp
或调用 google apis 的 python 脚本从 gcloud
获取这些数据?
获取所有计算实例的列表及其上次开始和停止日期和时间。
gcloud compute instances list --format='table(name,status,lastStartTimestamp,lastStopTimestamp.list())'
通过下面的命令,您可以获取有关已停止实例的 JSON 数据,并相应地更改
timestamp
值:
gcloud logging read 'resource.type="gce_instance" AND logName:activity_log AND timestamp>="2019-08-27T00:00:00Z" AND jsonPayload.event_subtype:stop' --format json --project $project_id
获取此类审核日志信息的另一种方法是使用
logName:cloudaudit.googleapis.com%2Factivity
。例如,现在考虑一个时间范围:
gcloud logging read 'resource.type="gce_instance" AND logName:"cloudaudit.googleapis.com%2Factivity" AND timestamp>="2019-08-01T00:00:00Z" AND timestamp<="2019-08-30T00:00:00Z" AND protoPayload.methodName:stop' --format json --project $project_id
使用JQ
gcloud compute instances describe <VM-NAME> --project=<PROJECT_ID> --zone=<ZONE> --format=json | jq .lastStopTimestamp
"2022-05-05T04:04:11.410-07:00"