You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过CLI列出GCP所有项目中Compute Engine的Ops Agent版本

列出所有GCP项目的Compute Engine实例及Ops Agent版本

方法一:gcloud CLI + 脚本自动化(推荐批量场景)

适合处理大量项目和实例,前提是你已配置好gcloud CLI并具备所有项目的访问权限。

  1. 导出所有项目ID
    先把所有GCP项目ID导出到文本文件:

    gcloud projects list --format="value(projectId)" > projects.txt
    
  2. 编写批量查询脚本
    创建一个bash脚本(比如ops-agent-scan.sh),内容如下:

    #!/bin/bash
    while read -r project_id; do
      echo "=== 项目: $project_id ==="
      # 遍历当前项目下的所有运行中实例(可修改--filter参数调整实例状态)
      gcloud compute instances list --project "$project_id" --filter="status=RUNNING" --format="value(name,zone)" | while read -r instance_name zone; do
        # 从实例的guest attributes中获取Ops Agent版本
        agent_version=$(gcloud compute instances describe "$instance_name" --zone "$zone" --project "$project_id" --format='value(guestAttributes.google-ops-agent.version)' 2>/dev/null)
        # 输出结果,未安装/无法获取的实例标记说明
        if [[ -n "$agent_version" ]]; then
          echo "实例: $instance_name ($zone) | Ops Agent版本: $agent_version"
        else
          echo "实例: $instance_name ($zone) | Ops Agent版本: 未安装或实例停止无法获取"
        fi
      done
    done < projects.txt
    
  3. 执行脚本并保存结果
    给脚本加执行权限后运行,结果会输出到指定文件:

    chmod +x ops-agent-scan.sh
    ./ops-agent-scan.sh > ops-agent-inventory.txt
    

    之后你可以直接在ops-agent-inventory.txt里筛选旧版本实例。

方法二:Cloud Monitoring可视化查询

如果不想写脚本,可通过Cloud Monitoring快速查看:

  • 打开Cloud Monitoring控制台,创建自定义仪表盘,添加指标agent.googleapis.com/agent/version
  • 按「项目」「实例名称」维度分组,就能看到所有实例的Ops Agent版本
  • 利用筛选功能,设置版本阈值(比如<2.20.0),直接导出符合条件的旧版本实例清单

关键注意事项

  • 确保账号拥有roles/compute.instanceAdmin.v1或更高权限,能访问所有目标项目
  • 停止状态的实例无法读取guest attributes,建议先过滤运行中实例再查询
  • 脚本可根据需求调整,比如添加区域过滤、实例名称过滤等

内容的提问来源于stack exchange,提问作者Michael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 08:10:39