App Topology API verwenden

Sie können programmatisch Abfragen ausführen, um Daten in Google Cloud mithilfe der REST API oder der Google Cloud CLI zu korrelieren.

Übersicht

Wenn Sie eine App Topology API-Abfrage ausführen, gibt die API eine Liste von Knoten (Ressourcen) und Kanten (Beziehungen) zurück, die Ihrer Abfrage entsprechen. Bei der Anwendungstopologie werden Daten aus verschiedenen Google Cloud Diensten kombiniert, z. B.:

  • Ressourcenmetadaten aus Cloud Asset Inventory, App Hub und Agent Registry
  • Bereitstellungsdaten, z. B. ein Git-Commit oder die Build-Herkunft eines Container-Images
  • Sicherheitsdaten aus Security Command Center, z. B. Sicherheitslücken oder Inhaberschaft der Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM)
  • Google Cloud Observability-Daten wie Traces und Benachrichtigungen

Zum Ausführen einer Abfrage benötigen Sie die folgenden Informationen:

  • Die Domain, die Sie abfragen möchten. Die Domain SRE umfasst alle unterstützten Daten. Informationen zum Auflisten verfügbarer Domains finden Sie unter Domains auflisten.
  • Die unterstützten Knoten, Kanten und Attribute, die Sie in eine Abfrage einfügen können. Sie können das vollständige oder teilweise Schema für eine Domain abrufen. Weitere Informationen finden Sie unter Schema abrufen.
  • Das Abfragemuster mit den Knoten und Kanten, nach denen Sie suchen möchten. Weitere Informationen finden Sie unter Abfragen ausführen.

Hinweis

  1. Anwendungstopologie einrichten

  2. Wählen Sie den Tab für die geplante Verwendung der Beispiele auf dieser Seite aus:

    gcloud

    Aktivieren Sie Cloud Shell in der Google Cloud Console.

    Cloud Shell aktivieren

    Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.

    REST

    Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

      Installieren Sie die Google Cloud CLI.

      Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

    Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.

    Informationen zum Einrichten der Authentifizierung für eine Produktionsumgebung finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Standardanmeldedaten für Anwendungen für Code einrichten, der auf Google Cloudausgeführt wird .

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zur Verwendung der App Topology API benötigen:

  • Abfragen ausführen: App Topology Viewer (roles/apptopology.viewer) für die Projekte, in denen Sie die Anwendungstopologie verwenden möchten

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die für die Verwendung der App Topology API erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um die App Topology API zu verwenden:

  • Domains abrufen:
    • apptopology.domains.get
    • apptopology.domains.list
  • Schemas abrufen: apptopology.schemas.get
  • Daten der erkannten Ressource abrufen: apptopology.discoveredResourcesTopologies.generate
  • DevOps-Domänendaten abrufen: apptopology.devOpsDomainTopologies.generate
  • Daten zur Sicherheitsdomain abrufen: apptopology.securityDomainTopologies.generate
  • SRE-Domänendaten abrufen (alle unterstützten Daten): apptopology.sreDomainTopologies.generate

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Domains auflisten

Domains sind Gruppen von Ressourcendaten, die sich auf bestimmte Arten von Anfragen konzentrieren.

  • Wenn Sie alle von der Anwendungstopologie unterstützten Daten abfragen möchten, verwenden Sie die Domain SRE.
  • Wenn Sie Daten zu agentischen Ressourcen abrufen möchten, müssen Sie die Domain SRE verwenden.
  • In allen Beispielen für Anforderungsantworten in diesem Dokument wird die Domain SRE verwendet.

Bei Bedarf können Sie Domains auflisten, die in einem Projekt verfügbar sind.

gcloud

Domains auflisten

Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

  • PROJECT_ID: Ihre Projekt-ID

Führen Sie den Befehl gcloud app-topology domains list aus:

Linux, macOS oder Cloud Shell

gcloud app-topology domains list --project=PROJECT_ID

Windows (PowerShell)

gcloud app-topology domains list --project=PROJECT_ID

Windows (cmd.exe)

gcloud app-topology domains list --project=PROJECT_ID

Sie sollten eine Antwort ähnlich der folgenden erhalten:

NAME
DEVOPS
SECURITY
SRE

REST

Domains auflisten

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID

HTTP-Methode und URL:

GET https://apptopology.googleapis.com/v1/projects/PROJECT_ID/locations/global/domains

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

{
  "domains": [
    {
      "name": "projects/PROJECT_ID/locations/global/domains/DEVOPS"
    },
    {
      "name": "projects/PROJECT_ID/locations/global/domains/SECURITY"
    },
    {
      "name": "projects/PROJECT_ID/locations/global/domains/SRE"
    }
  ]
}

Schema abrufen

Um Ihnen das Erstellen von Abfragen zu erleichtern, können Sie eine Liste aller unterstützten Knoten, Kanten und Eigenschaften für eine Domain abrufen. Mit der REST API können Sie auch einen Teil des Schemas abrufen.

Anfragen für das vollständige Schema können aufgrund der großen Anzahl von Elementen im Schema deutlich länger dauern als Anfragen für ein Teilschema.

Vollständiges Schema abrufen

gcloud

Vollständiges Schema abrufen

Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

  • PROJECT_ID: Ihre Projekt-ID
  • DOMAIN: Die Domain, die Sie abfragen möchten. Die SRE-Domain umfasst alle unterstützten Daten.

Führen Sie den Befehl gcloud app-topology domains schema describe aus:

Linux, macOS oder Cloud Shell

gcloud app-topology domains schema describe DOMAIN --project=PROJECT_ID

Windows (PowerShell)

gcloud app-topology domains schema describe DOMAIN --project=PROJECT_ID

Windows (cmd.exe)

gcloud app-topology domains schema describe DOMAIN --project=PROJECT_ID

Das folgende Beispiel aus einer Antwort enthält nur das erste Element im Schema für Knotentypen, Kantentypen, Kantenregeln und Label-Eigenschaften.

{
  "nodeTypes": [
    {
      "type": "Base/compute.googleapis.com/UrlMap",
      "labels": [
        "Base/Resource",
        "Base/compute.googleapis.com/UrlMap"
      ],
      "description": "Represents a Compute UrlMap."
    }
  ],
  "edgeTypes": [
    {
      "type": "Observability/SENDS_TRAFFIC/Base/geminidataanalytics.googleapis.com/DataAgent:Base/apps.k8s.io/DaemonSet",
      "labels": [
        "Observability/SENDS_TRAFFIC"
      ]
    }
  ],
  "labelProperties": [
    {
      "label": "Base/compute.googleapis.com/InstanceSettings",
      "description": "Classifies a node as a Compute Instance Settings."
    }
  ],
  "edgeRules": [
    {
      "edgeType": "Observability/SENDS_TRAFFIC/Base/geminidataanalytics.googleapis.com/DataAgent:Base/apps.k8s.io/DaemonSet",
      "srcNodeType": "Base/geminidataanalytics.googleapis.com/DataAgent",
      "destNodeType": "Base/apps.k8s.io/DaemonSet"
    }
  ]
}

REST

Vollständiges Schema abrufen

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID
  • DOMAIN: Die Domain, die Sie abfragen möchten. Die SRE-Domain umfasst alle unterstützten Daten.

HTTP-Methode und URL:

GET https://apptopology.googleapis.com/v1/projects/PROJECT_ID/locations/global/domains/DOMAIN/schema

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Das folgende Beispiel aus einer Antwort enthält nur das erste Element im Schema für Knotentypen, Kantentypen, Kantenregeln und Label-Eigenschaften.

{
  "nodeTypes": [
    {
      "type": "Base/compute.googleapis.com/UrlMap",
      "labels": [
        "Base/Resource",
        "Base/compute.googleapis.com/UrlMap"
      ],
      "description": "Represents a Compute UrlMap."
    }
  ],
  "edgeTypes": [
    {
      "type": "Observability/SENDS_TRAFFIC/Base/geminidataanalytics.googleapis.com/DataAgent:Base/apps.k8s.io/DaemonSet",
      "labels": [
        "Observability/SENDS_TRAFFIC"
      ]
    }
  ],
  "labelProperties": [
    {
      "label": "Base/compute.googleapis.com/InstanceSettings",
      "description": "Classifies a node as a Compute Instance Settings."
    }
  ],
  "edgeRules": [
    {
      "edgeType": "Observability/SENDS_TRAFFIC/Base/geminidataanalytics.googleapis.com/DataAgent:Base/apps.k8s.io/DaemonSet",
      "srcNodeType": "Base/geminidataanalytics.googleapis.com/DataAgent",
      "destNodeType": "Base/apps.k8s.io/DaemonSet"
    }
  ]
}

Teilschema abrufen

Sie können einen Teil eines Domainschemas innerhalb einer bestimmten Anzahl von Schritten eines angegebenen Startlabels abrufen.

Mit dem Beispielbefehl in dieser Anleitung wird ein Teil des Schemas ab dem Knoten Base/Agent mit einer Tiefe von 1 und einer Seitengröße von 5 abgerufen.

Teilschema abrufen

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID
  • DOMAIN: Die Domain, die Sie abfragen möchten. Die SRE-Domain umfasst alle unterstützten Daten.

HTTP-Methode und URL:

POST https://apptopology.googleapis.com/v1/projects/PROJECT_ID/locations/global/domains/DOMAIN/schema:explore

JSON-Text anfordern:

{
  "startLabels": [
    "Base/Agent"
  ],
  "depth": 1,
  "pageSize": 5
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

In einer Antwort ist die Reihenfolge von nodeTypes und edgeTypes konsistent, die Reihenfolge von labelProperties kann jedoch von Anfrage zu Anfrage variieren.

Maximieren Sie die Überschrift Antwort, um eine Beispielantwort zu sehen.

Abfragen ausführen

Wenn Sie eine Abfrage ausführen, geben Sie ein Abfragemuster an, das die Knoten, Kanten und Eigenschaften enthält, nach denen Sie suchen möchten.

Abfragemuster basieren auf der AIP-160-Filtersyntax. Eine Übersicht über Abfragemuster und ‑beschränkungen finden Sie unter Abfragen. Bei dieser Anleitung wird davon ausgegangen, dass Sie die Informationen zur Abfragestruktur und zu Einschränkungen gelesen haben.

In der folgenden Anleitung wird eine Beispielabfrage für alle App Hub-Dienste und ‑Arbeitslasten im angegebenen Projekt verwendet, einschließlich der registrierten (Base/apphub.googleapis.com/Service, Base/apphub.googleapis.com/Workload) und der erkannten (Base/DiscoveredService, Base/DiscoveredWorkload).

Mit den Befehlen wird das Abfragemuster in einer JSON-Datei angegeben. Die Datei unterscheidet sich in dieser Anleitung geringfügig für gcloud CLI- und REST-Anfragen.

  • Geben Sie für die gcloud CLI die abzufragende Domain als Parameter des Befehls an. Die Domain ist nicht in der Datei mit Abfragemustern enthalten.
  • Geben Sie für REST-Anfragen sowohl die Domain als auch das Abfragemuster im JSON-Text der Anfrage an. Legen Sie die Domain im Feld topologyDomains fest und geben Sie das Abfragemuster unter dem filter-Objekt an.

gcloud

Topologie generieren

Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

  • PROJECT_ID: Ihre Projekt-ID
  • DOMAIN: Die Domain, die Sie abfragen möchten. Die SRE-Domain umfasst alle unterstützten Daten.

Speichern Sie den folgenden Inhalt in einer Datei mit dem Namen request.json:

{
  "startingNode": {
    "alias": "sw",
    "labelPropertiesPattern": {
      "labelMatcherExpr": "Base/apphub.googleapis.com/Service OR Base/apphub.googleapis.com/Workload OR Base/DiscoveredService OR Base/DiscoveredWorkload"
    }
  }
}

Führen Sie den Befehl gcloud app-topology resources-graph generate aus:

Linux, macOS oder Cloud Shell

gcloud app-topology resources-graph generate --domains=DOMAIN --project=PROJECT_ID --pattern-file=request.json --format=json

Windows (PowerShell)

gcloud app-topology resources-graph generate --domains=DOMAIN --project=PROJECT_ID --pattern-file=request.json --format=json

Windows (cmd.exe)

gcloud app-topology resources-graph generate --domains=DOMAIN --project=PROJECT_ID --pattern-file=request.json --format=json

Der folgende Auszug aus einer Beispielantwort zeigt die ersten beiden Knoten. Diese Knoten sind MCP-Server. Google-MCP-Server haben das Label Base/DiscoveredService, das eines der Labels im Abfragemuster ist.

In der Ausgabe stehen die folgenden Variablen für Werte, die dem Projekt zugeordnet sind, das Sie mit PROJECT_ID angegeben haben:

  • PROJECT_NUMBER: Die Projektnummer für das angegebene Projekt.
  • ORGANIZATION_NUMBER: Die Organisationsnummer für die Google Cloud Organisation, die das angegebene Projekt enthält.
{
  "graph": {
    "nodes": [
      {
        "properties": {
          "project": "projects/PROJECT_NUMBER",
          "Base/location": "global",
          "createTime": "2026-08-13T15:14:53.477680Z",
          "Base/agentregistry/urn": "urn:mcp:googleapis.com:projects:PROJECT_NUMBER:locations:global:storage",
          "Base/resourceType": "agentregistry.googleapis.com/GoogleMcpServer",
          "organization": "organizations/ORGANIZATION_NUMBER"
        },
        "name": "urn:mcp:googleapis.com:projects:PROJECT_NUMBER:locations:global:storage",
        "labels": [
          "Base/MCPServer",
          "Base/DiscoveredService",
          "Base/Resource",
          "Base/agentregistry.googleapis.com/GoogleMcpServer"
        ],
        "context": {
          "type": "Base/agentregistry.googleapis.com/GoogleMcpServer"
        }
      },
      {
        "properties": {
          "createTime": "2026-08-13T16:22:24.732600Z",
          "Base/resourceType": "agentregistry.googleapis.com/GoogleMcpServer",
          "Base/agentregistry/urn": "urn:mcp:googleapis.com:projects:PROJECT_NUMBER:locations:global:pubsub",
          "Base/location": "global",
          "organization": "organizations/ORGANIZATION_NUMBER",
          "project": "projects/PROJECT_NUMBER"
        },
        "name": "urn:mcp:googleapis.com:projects:PROJECT_NUMBER:locations:global:pubsub",
        "labels": [
          "Base/agentregistry.googleapis.com/GoogleMcpServer",
          "Base/Resource",
          "Base/DiscoveredService",
          "Base/MCPServer"
        ],
        "context": {
          "type": "Base/agentregistry.googleapis.com/GoogleMcpServer"
        }
      }
    ]
  }
}

REST

Topologie generieren

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID
  • DOMAIN: Die Domain, die Sie abfragen möchten. Die SRE-Domain umfasst alle unterstützten Daten.

HTTP-Methode und URL:

POST https://apptopology.googleapis.com/v1/projects/PROJECT_ID/locations/global/discoveredResourcesTopology:generate

JSON-Text anfordern:

{
  "topologyDomains": [
    "projects/PROJECT_ID/locations/global/domains/DOMAIN"
  ],
  "filter": {
    "startingNode": {
      "alias": "sw",
      "labelPropertiesPattern": {
        "labelMatcherExpr": "Base/apphub.googleapis.com/Service OR Base/apphub.googleapis.com/Workload OR Base/DiscoveredService OR Base/DiscoveredWorkload"
      }
    }
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Der folgende Auszug aus einer Beispielantwort zeigt die ersten beiden Knoten. Diese Knoten sind MCP-Server. Google-MCP-Server haben das Label Base/DiscoveredService, das eines der Labels im Abfragemuster ist.

In der Ausgabe stehen die folgenden Variablen für Werte, die dem Projekt zugeordnet sind, das Sie mit PROJECT_ID angegeben haben:

  • PROJECT_NUMBER: Die Projektnummer für das angegebene Projekt.
  • ORGANIZATION_NUMBER: Die Organisationsnummer für die Google Cloud Organisation, die das angegebene Projekt enthält.
{
  "graph": {
    "nodes": [
      {
        "properties": {
          "project": "projects/PROJECT_NUMBER",
          "Base/location": "global",
          "createTime": "2026-08-13T15:14:53.477680Z",
          "Base/agentregistry/urn": "urn:mcp:googleapis.com:projects:PROJECT_NUMBER:locations:global:storage",
          "Base/resourceType": "agentregistry.googleapis.com/GoogleMcpServer",
          "organization": "organizations/ORGANIZATION_NUMBER"
        },
        "name": "urn:mcp:googleapis.com:projects:PROJECT_NUMBER:locations:global:storage",
        "labels": [
          "Base/MCPServer",
          "Base/DiscoveredService",
          "Base/Resource",
          "Base/agentregistry.googleapis.com/GoogleMcpServer"
        ],
        "context": {
          "type": "Base/agentregistry.googleapis.com/GoogleMcpServer"
        }
      },
      {
        "properties": {
          "createTime": "2026-08-13T16:22:24.732600Z",
          "Base/resourceType": "agentregistry.googleapis.com/GoogleMcpServer",
          "Base/agentregistry/urn": "urn:mcp:googleapis.com:projects:PROJECT_NUMBER:locations:global:pubsub",
          "Base/location": "global",
          "organization": "organizations/ORGANIZATION_NUMBER",
          "project": "projects/PROJECT_NUMBER"
        },
        "name": "urn:mcp:googleapis.com:projects:PROJECT_NUMBER:locations:global:pubsub",
        "labels": [
          "Base/agentregistry.googleapis.com/GoogleMcpServer",
          "Base/Resource",
          "Base/DiscoveredService",
          "Base/MCPServer"
        ],
        "context": {
          "type": "Base/agentregistry.googleapis.com/GoogleMcpServer"
        }
      }
    ]
  }
}

Weitere Beispiele für Abfragemuster finden Sie unter Beispiele für Abfragemuster.

Beispielmuster für Abfragen

Die folgenden Beispiele für Abfragemuster können Ihnen dabei helfen, eigene Abfragemuster zum Ausführen von Abfragen zu erstellen. In allen Beispielen in diesem Abschnitt wird das JSON-Format verwendet.

VMs mit Instanzgruppen, Netzwerken und Laufwerken

Abfrage für Compute Engine-Instanzen in einer Instanzgruppe mit Netzwerk und Laufwerk.

Das Muster beginnt bei Base/compute.googleapis.com/Instance und hat drei primäre edge-Zweige unter dem übergeordneten neighbors-Objekt, die diese Kriterien definieren:

  • Instanzen, die zu einer verwalteten Instanzgruppe gehören
  • Instanzen mit einem verbundenen Netzwerk
  • Instanzen mit Persistent Disk

Da Zweige mit AND kombiniert werden, enthält die Antwort nur Instanzen, die zu einer verwalteten Instanzgruppe gehören und sowohl ein Netzwerk als auch ein Laufwerk haben.

{
  "startingNode": {
    "alias": "instance",
    "labelPropertiesPattern": {
      "labelMatcherExpr": "Base/compute.googleapis.com/Instance"
    }
  },
  "neighbors": [
    {
      "edge": {
        "direction": "FROM",
        "labelPropertiesPattern": {
          "labelMatcherExpr": "CONTAINS"
        }
      },
      "graph": {
        "startingNode": {
          "alias": "instance_group",
          "labelPropertiesPattern": {
            "labelMatcherExpr": "Base/compute.googleapis.com/InstanceGroup"
          }
        },
        "neighbors": [
          {
            "edge": {
              "direction": "FROM",
              "labelPropertiesPattern": {
                "labelMatcherExpr": "DEPENDS_ON"
              }
            },
            "graph": {
              "startingNode": {
                "alias": "instance_group_manager",
                "labelPropertiesPattern": {
                  "labelMatcherExpr": "Base/compute.googleapis.com/InstanceGroupManager"
                }
              }
            }
          }
        ]
      }
    },
    {
      "edge": {
        "direction": "TO",
        "labelPropertiesPattern": {
          "labelMatcherExpr": "DEPENDS_ON"
        }
      },
      "graph": {
        "startingNode": {
          "alias": "network",
          "labelPropertiesPattern": {
            "labelMatcherExpr": "Base/compute.googleapis.com/Network"
          }
        }
      }
    },
    {
      "edge": {
        "direction": "TO",
        "labelPropertiesPattern": {
          "labelMatcherExpr": "DEPENDS_ON"
        }
      },
      "graph": {
        "startingNode": {
          "alias": "disk",
          "labelPropertiesPattern": {
            "labelMatcherExpr": "Base/compute.googleapis.com/Disk"
          }
        }
      }
    }
  ]
}

Agentische Ressourcen

Agentenressourcen und ihre Beziehungen mit Informationen aus der Agent Registry abfragen, einschließlich Daten für Agenten, MCP-Server, Endpunkte und Skills.

{
  "startingNode": {
    "alias": "resource",
    "labelPropertiesPattern": {
      "labelMatcherExpr": "Base/Agent OR Base/MCPServer OR Base/agentregistry.googleapis.com/Skill OR Base/agentregistry.googleapis.com/SkillRevision OR Base/agentregistry.googleapis.com/AiApplication OR Base/agentregistry.googleapis.com/GoogleMcpServer OR Base/agentregistry.googleapis.com/McpEnablement OR Base/agentregistry.googleapis.com/Publisher OR Base/agentregistry.googleapis.com/Binding OR Base/agentregistry.googleapis.com/Service OR Base/aiplatform.googleapis.com/Endpoint"
    }
  }
}

Die Anwendungstopologie unterstützt zwei Arten von Endpunkten:

  • Base/aiplatform.googleapis.com/Endpoint ist ein Modellendpunkt der Gemini Enterprise Agent Platform.
  • Base/Endpoint ist die Ziel-URL für einen Agenten und ein Label für einen Agent Registry-Dienst (Base/agentregistry.googleapis.com/Service). Da Base/agentregistry.googleapis.com/Service im Abfragemuster enthalten ist, sind Agentenendpunkte in den Ergebnissen der Abfrageantwort enthalten.

KI-Agenten-Traffic

Mit Daten aus Cloud Trace können Sie Traffic zwischen Agenten und anderen Agenten oder MCP-Servern abfragen. Jeder Edge enthält Daten zur Fehlerrate und zur P95-Latenz.

{
  "startingNode": {
    "alias": "agent",
    "labelPropertiesPattern": {
      "labelMatcherExpr": "Base/Agent"
    }
  },
  "neighbors": [
    {
      "edge": {
        "direction": "ANY",
        "labelPropertiesPattern": {
          "labelMatcherExpr": "Observability/SENDS_TRAFFIC"
        }
      },
      "graph": {
        "startingNode": {
          "alias": "peer",
          "labelPropertiesPattern": {
            "labelMatcherExpr": "Base/Agent OR Base/MCPServer"
          }
        }
      }
    }
  ]
}

Nächste Schritte