运行查询

借助 App Topology,您可以运行查询来帮助您关联数据,并回答有关应用运行状况、性能和安全态势的问题。

拓扑类型

App Topology 支持查询 Google Cloud 项目中的 Google Cloud 资源,以及查询项目或已启用应用的文件夹中的 App Hub 应用 。在文件夹中创建 App Hub 应用时,您可以在 App Topology 中运行查询,以查看该文件夹中各个项目的资源关系。

在 Cloud Hub 中,App Topology 提供了多个网域,用于回答特定类型的问题。每个网域都允许您查询一组特定的底层数据。

  • 运行状况和问题排查 - 适用于专注于服务运行时运行状况和可靠性的网站可靠性工程师 (SRE) 及其他用户。您可以查看部署事件的未解决提醒,并分析应用组件或代理资源之间的流量。

  • 部署 - 适用于管理软件供应链和基础架构配置的 DevOps 工程师。您可以在构建工件部署之前检查其中是否存在已知漏洞,并跟踪从源代码到生产环境的来源。

  • 安全 - 适用于审核访问权限、漏洞和软件供应链风险的安全工程师和经理。您可以检查访问路径,并识别受漏洞影响的正在运行的服务和基础架构。

App Topology 还提供了专注于其他领域特定 用途的拓扑图 Google Cloud。

下表可帮助您确定要使用哪个拓扑工具:

拓扑工具 何时使用
Cloud Hub 中的 App Topology 分析可观测性、安全和 部署网域中的数据关系。
  • 查看按应用分组的 App Hub 服务和工作负载
  • 使用预定义查询或创建自己的查询
  • 查看各个项目和已启用应用的文件夹的数据
应用拓扑 在 Cloud Monitoring 中 根据遥测数据查看实时可观测性数据,例如流量、延迟和 服务依赖项。
  • 查看按应用分组的 App Hub 服务和工作负载
  • 注册发现的服务和工作负载
  • 提供应用性能和流量的重点视图
  • 查看各个项目和已启用应用的文件夹的数据
代理拓扑 查看基于代理的系统的基础架构和连接,例如代理与其管理工具之间的连接。
  • 使用提供的查询,或在 Cloud Hub 中运行修改后的预定义查询
  • 仅查看各个项目的数据

准备工作

  1. 确定要设置的 Google Cloud 项目。

    • Security Command Center 提供的安全和合规性数据仅适用于 组织中的项目和应用。 Google Cloud 如需将项目迁移到组织,请参阅 迁移说明
    • 如果您为 App Hub 应用设置了已启用应用的文件夹,请在该文件夹的管理项目中启用这些 说明中所述的 API 并授予权限。
  2. 如需查看软件供应链数据(例如构建来源), 请配置 Developer Connect 分析洞见

  3. 启用 App Topology、Cloud Asset Inventory 和可观测性 API。

    启用 API 所需的角色

    如需启用 API,您需要拥有 serviceusage.services.enable 权限。如果您 创建了项目,则可能已通过 所有者角色 (roles/owner) 拥有此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获得此权限。 了解如何授予角色

    启用 API

  4. 可选:如需查看代理流量, 请检测您的 AI 应用

  5. 可选:设置 Security Command Center 以获取安全和合规性数据。 在组织级层激活 Security Command Center,并 配置要使用的功能。只有高级方案和 Enterprise 方案才能查询 Security Command Center 中的数据。

  6. 向用户授予查询数据和查看拓扑 图的权限。

  7. 如果您在 VPC Service Controls 边界内保护服务,请更新边界以包含 App Topology 和提供底层数据的服务。了解详情

所需角色

Cloud Hub Operator 角色包含查看 Cloud Hub 中所有网域的数据以及 其他 Google Cloud 拓扑的数据所需的权限。

如需获得查询 App Topology 中所有网域所需的权限,请让您的管理员为您授予包含您的资源的项目或您的应用的管理项目的Cloud Hub Operator (roles/cloudhub.operator) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。

关于查询

App Topology 查询包含以下几个组件:

  • 节点 - 发现的 Google Cloud 资源或在 App Hub 应用中注册的 资源。节点示例包括

    • Compute Engine 虚拟机
    • Artifact Registry 中的容器映像
    • 代理
    • 提醒(Cloud Monitoring 中的突发事件
    • App Hub 应用、服务或工作负载
    • 漏洞

    查询构建器按服务对节点进行分组。

  • Where 子句:应用于节点的过滤条件,用于根据节点的特定属性优化 查询。

  • 连接:两个节点之间的定向关系。连接具有上下文感知能力,并且仅显示所选节点类型的有效关系。例如:

    • contained in
    • sends traffic to
    • owns
    • depends on

以下示例查询会搜索具有 特定漏洞的部署:

使用各种组件的查询示例
使用各种组件的查询示例

该查询确定了调查的关键节点: - K8s Apps Deployment - Google Kubernetes Engine (GKE) 部署 - Docker Image - 存储在 Artifact Registry 中的容器映像 - Vulnerability

连接 containscontained in 表示节点关系:

  • K8s Apps Deployment contains Vulnerability
  • Vulnerability contained in Docker Image

Where 子句会过滤漏洞结果以显示特定 CVE。

  • Where Id = CVE-2026-24061

限制

数据可用性:

  • Google Cloud Observability 不支持所有 App Hub 服务和工作负载的遥测数据。如需查看支持的基础架构资源列表,请参阅应用监控支持的基础架构
  • 查看 App Hub 应用的拓扑时,可视化图表中不包含可在应用之间共享的资源。
  • 删除 Developer Connect 分析洞见事件后,该事件可能仍会在 App Topology 查询结果中显示几天。

项目的位置: Google Cloud

  • Security Command Center 提供的安全和合规性数据仅适用于 组织中的项目和应用。 Google Cloud

运行查询

您可以使用预定义查询、修改预定义查询或创建自定义查询。

使用或自定义建议的查询

App Topology 提供了查询建议,您可以直接使用这些建议,也可以根据自己的具体要求对其进行自定义。

  1. 在 Google Cloud 控制台中,前往 App Topology 页面。

    前往 App Topology

  2. 创建查询面板中,选择要探索的 网域的标签页。

  3. 快速查询 下,点击一个查询以查看查询 组件的预览。

  4. 如需使用该查询,请点击使用建议 。该查询会显示在显示 部分中。

  5. 根据需要修改编辑器中的查询详细信息。

    • 如需向查询添加组件,请点击节点旁边的加号图标 ()。
    • 如需移除组件,请点击关闭图标
    • 如需更改 Where 子句的值,请点击该值。

    您可以点击撤消 以恢复 更改,或点击重做 以重新应用您使用撤消 恢复的更改。

    在构建查询时,可用的节点、过滤条件和连接会随之更新。

    例如,如果您选择了 Kubernetes 部署中的漏洞 ,则组件为:

    Application
      contains Workload
        depends on K8s Apps Deployment
           contains Vulnerability
              Where Id = Empty value
    

    如需使用该查询,您必须指定要搜索的漏洞,方法是将 Empty value 替换为 CVE ID,例如 CVE-2026-24061

    或者,您可以更改查询,以搜索包含具有特定漏洞的 Docker 映像的所有应用工作负载

    Application
      contains Workload
        contains Deployment Event
          contains artifact Docker Image
            contains Vulnerability
              Where Id = CVE-2026-24061
    
  6. 完成查询修改后,点击运行查询 。如果查询结果 包含 Google Cloud 发现的资源或在 App Hub 应用中 注册的资源,则会显示 拓扑图。

    对于仅包含字符串或计数等数据类型的查询结果,系统不会显示图表。

    根据结果,您可以修改查询,然后点击运行查询 以更新拓扑图。

    如果没有结果,请尝试优化查询

  7. 与拓扑互动,了解您的资源及其 关系。

创建自定义查询

如需创建自定义查询,请按照以下步骤启动新查询或 自定义现有建议的查询

  1. 在 Google Cloud 控制台中,前往 App Topology 页面。

    前往 App Topology

  2. 创建查询面板中,选择要探索的 网域的标签页。

  3. 显示 部分中,点击 并 选择一个资源或发现结果作为查询的主节点,然后 点击继续

  4. 如需优化查询,请点击任意过滤条件或连接的切换开关,以针对所选节点启用相应过滤条件或连接。为启用的每个过滤条件定义值。

  5. 如需对查询进行其他更改,您可以添加、修改或移除组件。

    • 如需向查询添加组件,请点击节点旁边的加号图标 ()。
    • 如需移除组件,请点击关闭图标
    • 如需更改 Where 子句的值,请点击该值。

    您可以点击撤消 以 恢复更改,或点击重做 以重新应用您使用撤消 恢复的更改。

    在构建查询时,可用的节点、过滤条件和连接会随之更新。

  6. 完成查询修改后,点击运行查询 。如果查询结果 包含 Google Cloud 发现的资源或在 App Hub 应用中 注册的资源,则会显示 拓扑图。

    对于仅包含字符串或计数等数据类型的查询结果,系统不会显示图表。

    根据结果,您可以修改查询,然后点击运行查询 以更新拓扑图。

    如果没有结果,请尝试优化查询

  7. 与拓扑互动,了解您的资源及其 关系。

与拓扑互动

图表 标签页上的拓扑图会将资源及其 关系显示为 节点和连接

  • 图标表示节点,包括发现的资源和注册的资源。
  • 线条表示连接,即节点之间的关系。

一个示例拓扑图,其中一个节点处于选中状态

您可以通过以下方式与拓扑互动:

  • 通过放大或缩小或重新定位节点来更改可视化图表。
  • 将光标悬停在两个节点之间的连接线上,即可查看连接的标签。
  • 选择节点或连接即可获取相关信息。
  • 先点击 Toggle panel ,即可隐藏或显示查询面板。

如需在表格中查看查询结果,请点击表格 标签页。您可以通过以下方式更改数据的显示方式:

  • 如需选择表格显示的列,请点击 列显示选项
  • 如需按特定属性过滤表格,请在过滤条件 字段中选择属性。
  • 您还可以按升序或降序对各列进行排序。