Observability in Google Cloud

Google Cloud Observability umfasst Beobachtbarkeitsdienste, mit denen Sie das Verhalten, den Zustand und die Leistung Ihrer Anwendungen, einschließlich agentenbasierter Anwendungen, besser nachvollziehen können. Wenn Sie wissen, wie sich Anwendungen verhalten und wie Komponenten verbunden sind, können Sie unerwartete Änderungen schnell und effektiv vorhersehen, erkennen und darauf reagieren.

Dieses Dokument enthält die folgenden Informationen:

Beobachtbarkeit

Beobachtbarkeit ist ein umfassender Ansatz zum Erfassen und Analysieren von Telemetriedaten, mit dem Sie den Zustand Ihrer Anwendungen, einschließlich agentischer Anwendungen, und ihrer Betriebsumgebung besser verstehen können. Telemetriedaten umfassen Logdaten, Messwertdaten und Tracedaten. Dazu können auch andere Daten gehören, die von Ihren Anwendungen generiert werden, z. B. Prompts und Antworten. Telemetriedaten liefern die Informationen, die Sie benötigen, um den Zustand und die Leistung Ihrer Anwendungen zu verstehen.

Messwertdaten
Messwertdaten sind numerische Daten zu Gesundheit oder Leistung, die das System in regelmäßigen Abständen misst, z. B. CPU-Auslastung und Anfragelatenz. Unerwartete Änderungen an Messwertdaten können auf ein Problem hindeuten, das Sie untersuchen müssen. Mit der Zeit können Sie auch Muster analysieren, um Nutzungsmuster besser zu verstehen und Ressourcenanforderungen vorauszusehen.
Logdaten

Ein Log ist eine generierte Aufzeichnung von System- oder Anwendungsaktivitäten im Zeitverlauf. Jedes Log ist eine Sammlung von Logeinträgen mit Zeitstempel und jeder Logeintrag beschreibt ein bestimmtes Ereignis.

Log-Daten enthalten oft detaillierte Informationen, die Ihnen helfen, nachzuvollziehen, was in einem bestimmten Teil Ihrer Anwendung passiert ist. Aus Protokolldaten lässt sich jedoch nicht effektiv ableiten, wie sich eine Änderung in einer Anwendungskomponente auf die Aktivität in anderen Komponenten auswirkt. Mit Tracedaten lässt sich diese Lücke schließen.

Trace-Daten

Ein Trace stellt den Pfad einer Anfrage über alle Komponenten Ihrer verteilten Anwendung hinweg dar. Jeder Trace steht also für einen einzelnen End-to-End-Vorgang. Da Traces aus Spans bestehen, die Datensätze für eine einzelne Funktion oder einen einzelnen Vorgang sind, können Sie den Fluss von Anfragen nachvollziehen und Latenzdaten untersuchen. Anhand dieser Informationen können Sie die Ursache eines Problems ermitteln.

Bei agentenbasierten Anwendungen werden in Traces die Aktionen erfasst, die Ihr Agent ausführt. So kann ein Trace beispielsweise MCP-Aufrufe erfassen.

Weitere Daten

Sie können zusätzliche Informationen erhalten, indem Sie Logdaten, Messwertdaten und Tracedaten zusammen mit anderen relevanten Informationen analysieren. Ein Label, das den Schweregrad einer Benachrichtigung angibt, oder eine Kunden-ID in Logdaten liefern beispielsweise Kontext, der für die Fehlerbehebung und das Debugging nützlich sein kann.

Beobachtbarkeit von KI-Agenten

Beobachtbarkeit von KI-Agenten bezieht sich auf Methoden, um den internen Zustand und das Verhalten von Software-Agents zu verstehen, insbesondere von KI-basierten Agents, die mit Large Language Models (LLMs) erstellt wurden. KI-Agenten sind nicht deterministisch und komplex. Daher ist die Beobachtbarkeit entscheidend, um ihre Leistung, Sicherheit und Zuverlässigkeit zu verstehen, zu debuggen, zu bewerten und zu verbessern.

Google Cloud bietet Unterstützung für die Anwendungsbeobachtung mit Application Monitoring. Damit werden Dashboards erstellt, in denen Telemetriedaten, Messwertdaten für KI-Ressourcen und Informationen wie offene Benachrichtigungen angezeigt werden. Weitere Informationen finden Sie in diesem Dokument im Abschnitt Beobachtbarkeit von Agent und Anwendung in Google Cloud.

Beobachtbarkeit von Anwendungen und APM

Application Performance Monitoring (APM) überwacht, diagnostiziert und verwaltet die Leistung, Verfügbarkeit und Nutzerfreundlichkeit von Softwareanwendungen, einschließlich agentenbasierter Anwendungen. Ein APM-System bietet in der Regel Dashboards, in denen Telemetriedaten angezeigt werden, und Dienste, die Telemetriedaten überwachen. Diese Systeme helfen Ihnen, Fehler zu erkennen.

Bei der Anwendungsbeobachtbarkeit werden Telemetriedaten verwendet, um Statistiken zu generieren, mit denen Sie das Verhalten Ihrer Anwendungen besser nachvollziehen können.

Google Cloud bietet Unterstützung für die Anwendungsbeobachtung mit Application Monitoring. Damit werden Dashboards erstellt, in denen Telemetriedaten, Messwertdaten für KI-Ressourcen und Informationen wie offene Benachrichtigungen angezeigt werden. Weitere Informationen finden Sie in diesem Dokument im Abschnitt Beobachtbarkeit von Agent und Anwendung in Google Cloud.

Beobachtbarkeitsdienste

Observability-Dienste erfassen, analysieren und korrelieren Telemetriedaten wie Log-, Messwert- und Tracedaten. Sie bieten die folgenden Funktionen, um die Zuverlässigkeit von Anwendungen zu gewährleisten:

  • Probleme proaktiv erkennen, bevor sie sich auf Nutzer auswirken
  • Bekannte und neue Probleme beheben
  • Fehlerbehebung bei Anwendungen während der Entwicklung
  • Auswirkungen von Änderungen an Ihren Anwendungen nachvollziehen
  • Durch die Datenexploration neue Erkenntnisse gewinnen

Weitere Informationen zu Zuverlässigkeitsverfahren, einschließlich der Grundsätze und Verfahren im Zusammenhang mit der Beobachtbarkeit, finden Sie im Buch Site Reliability Engineering: How Google Runs Production Systems. Zu den Themen gehören Monitoring verteilter Systeme, Benachrichtigungen und Fehlerbehebung.

Google Cloud Observability

Mit Diensten in Google Cloud Observability können Sie Telemetriedaten aus Ihren Anwendungen und der zugrunde liegenden Infrastruktur erfassen, analysieren und korrelieren. Außerdem bieten sie integrierte Standardeinstellungen, damit Ihr Einstieg schneller gelingt. Mit Application Monitoring werden beispielsweise Dashboards und Topologiekarten für Ihre in App Hub registrierten Anwendungen, Dienste und Arbeitslasten erstellt.

Automatische Erhebung von Telemetriedaten

Monitoring, Logging und Trace sind Dienste, die standardmäßig aktiviert werden, wenn Sie ein Google Cloud -Projekt erstellen. Diese Dienste bieten die grundlegenden Funktionen zum Erfassen, Analysieren und Visualisieren Ihrer Telemetriedaten:

  • Telemetriedaten für die meisten Google Cloud -Dienste werden automatisch erfasst.
  • Erfassen Sie automatisch Audit-Logs für die meisten Google Cloud-Dienste.
  • Visualisierungsdienste wie Dashboards und Telemetrie-Explorer bereitstellen, mit denen Sie Ihre Telemetriedaten ansehen und untersuchen können. Im Trace Explorer können Sie beispielsweise Traces, Spans und Metadaten ansehen, einschließlich multimodaler Prompts und Antworten. Weitere Informationen finden Sie unter Telemetriedaten abfragen und ansehen.
  • SQL-basierte Analysedienste für Ihre Log- und Tracedaten bereitstellen. Beispielsweise können Sie mit BigQuery URLs in Ihren Logdaten mit einem öffentlichen Dataset von bekannten schädlichen URLs vergleichen.
  • Anwendungs- und Telemetrie-Monitoring bereitstellen. Sie können beispielsweise Benachrichtigungsrichtlinien erstellen, die Sie benachrichtigen, wenn Ihre Protokolldaten oder Messwertdaten die von Ihnen angegebenen Bedingungen erfüllen. Sie können auch synthetisches Monitoring verwenden, um die Leistung Ihrer Anwendungen zu testen.
  • Erfassen Sie Telemetriedaten aus Ihren instrumentierten Anwendungen. Instrumentierung ist Code, den Sie einer Anwendung hinzufügen, um Telemetriedaten auszugeben.

    Wir empfehlen, für die Instrumentierung Ihrer Anwendung ein anbieterneutrales als Open Source veröffentlichtes Instrumentierungs-Framework wie OpenTelemetry anstelle von anbieter- und produktspezifischen APIs oder Clientbibliotheken zu verwenden. Informationen zu diesen Frameworks finden Sie unter Instrumentierung und Beobachtbarkeit und Instrumentierungsansatz auswählen.

Beobachtbarkeit von KI-Agenten und Anwendungen

Application Monitoring in Google Cloud bietet sowohl Agent- als auch Anwendungsbeobachtbarkeit. Dieser Dienst bietet Dashboards und Topologiekarten, mit denen Sie den Zustand und die Leistung Ihrer App Hub-Anwendungen, -Dienste und -Arbeitslasten nachvollziehen können. Außerdem werden Messwerte wie Fehlerraten und Tokennutzung für KI-Ressourcen generiert und angezeigt. Zum Generieren dieser Messwerte werden Ihre Trace-Daten von Application Monitoring mit anwendungsspezifischen Labels und Ereignissen gefiltert und zusammengefasst, die den semantischen OpenTelemetry-Konventionen für generative KI entsprechen.

Für die Beobachtbarkeit von KI-Agenten empfehlen wir, Ihre Agenten mit dem Agent Development Kit (ADK) Framework zu erstellen. Da das ADK auf OpenTelemetry basiert, stimmen die vom ADK generierten Telemetriedaten mit den semantischen OpenTelemetry-Konventionen für generative KI überein.

Wenn Sie Fehler beheben, Kosten im Blick behalten oder das Verhalten von Agents analysieren möchten, einschließlich Agents der Gemini Enterprise Agent Platform, des Agent Gateway und von Model Armor, benötigen Sie Log-, Messwert- und Tracedaten:

  • Protokolle enthalten Informationen zu Ereignissen und Fehlern.
  • Mit Messwerten können Sie die Latenz und die Tokennutzung im Blick behalten.
  • Traces enthalten Informationen zu Ausführungspfaden und werden analysiert, um Messwerte wie die Anzahl der Modellaufrufe oder die Gesamtzahl der verwendeten Tokens abzuleiten. Diese abgeleiteten Messwerte geben Aufschluss über die Leistung und das Verhalten von KI-Agenten. Weitere Informationen finden Sie unter KI-Ressourcen ansehen.
  • Mit Prompt- und Antwortdaten können Sie die Qualität und Entscheidungsfindung von Agenten mit dem Gen AI Evaluation Service bewerten.

Im Dashboard zur Anwendungsüberwachung für eine Anwendung wird eine Liste der Dienste und Arbeitslasten der Anwendung angezeigt, z. B. Gemini Enterprise-Apps, Gemini Enterprise Agent Platform-Agents und MCP-Server:

Eine Übersicht, in der die Dienste und Arbeitslasten in einer Anwendung aufgeführt sind.

Sie können Agent-basierte Dienste und Arbeitslasten anhand des Infrastrukturtyps oder des App Hub-Funktionstyps identifizieren. Die Spalte „Funktionstyp“ ist standardmäßig ausgeblendet.

Codebeispiele finden Sie hier:

Unterstützung bei der Identifizierung von Fehlern

Error Reporting analysiert Logeinträge aus Cloud Logging, um Fehler zu finden. Wenn Error Reporting Fehler findet, werden die zugehörigen Logeinträge mit Anmerkungen versehen und eine Fehlergruppe wird erstellt. Sehen Sie sich diese Fehlergruppen an, um die Ursache und den Verlauf des Fehlers zu ermitteln.

Unterstützung für die Profilerstellung

Mit Cloud Profiler können Sie die CPU- und Arbeitsspeichernutzung Ihrer Anwendungen analysieren, um Möglichkeiten zur Leistungsverbesserung zu ermitteln.

Jetzt starten

In diesem Abschnitt werden Schritte beschrieben, mit denen Sie sich mit den Funktionen zur Beobachtbarkeit in Google Cloudvertraut machen können.

Kurzanleitungen ausprobieren

Probieren Sie die Kurzanleitungen aus, um sich mit den verfügbaren Diensten vertraut zu machen.

Automatisch erhobene Daten ansehen

Die meisten Google Cloud Dienste generieren automatisch Logdaten und Messwertdaten. Das bedeutet, dass Sie sich ohne zusätzliche Konfiguration einige beobachtbare Daten für unterstützte Google Cloud Dienste ansehen können.

  • Einige Google Cloud Dienste wie Google Kubernetes Engine (GKE), Compute Engine und Cloud SQL stellen Standard-Dashboards in der Google Cloud Console bereit, damit sich Beobachtbarkeitsdaten im Kontext des Dienstes aufrufen lassen.
  • Compute Engine, GKE und Cloud Run generieren standardmäßig Systemmesswerte und Logdaten. Sie konfigurieren die Erhebung zusätzlicher Daten.
  • Cloud Run Functions und App Engine generieren automatisch Messwert-, Log- und Trace-Daten.

Sie können auch erfasste Messwertdaten im Metrics Explorer in Diagrammen darstellen, Logdaten im Log-Explorer ansehen oder Trace-Daten im Trace-Explorer aufrufen. Wenn Sie zusammengehörige Daten gemeinsam analysieren möchten, können Sie benutzerdefinierte Dashboards erstellen. Sie können beispielsweise ein Dashboard erstellen, das Protokolldaten, Leistungsmesswerte und Benachrichtigungsrichtlinien für virtuelle Maschinen enthält.

Compute Engine-VMs zum Erfassen zusätzlicher Daten konfigurieren

Compute Engine-VMs erfassen standardmäßig nur grundlegende Systemmesswerte und Logdaten. Sie können jedoch den Ops-Agent installieren, um zusätzliche Telemetriedaten aus Ihren Compute Engine-Instanzen und -Anwendungen zur Fehlerbehebung, Leistungsüberwachung und für Benachrichtigungen zu erfassen. Der Ops-Agent ist keine agentische Anwendung. Stattdessen ist es eine deterministische Software, die Telemetriedaten erfasst.

GKE-Cluster konfigurieren, um zusätzliche Daten zu erfassen

Standardmäßig senden GKE-Cluster Systemlogdaten und Systemmesswertdaten an Logging und Monitoring. Google Cloud Managed Service for Prometheus übernimmt die Erfassung von Messwertdaten von Drittanbietern und benutzerdefinierten Messwertdaten.

Cloud Run für die Erfassung benutzerdefinierter Daten konfigurieren

Wenn Sie einen Cloud Run-Dienst haben, der Prometheus-Messwertdaten schreibt, können Sie den Prometheus-Sidecar verwenden, um die Messwertdaten an Cloud Monitoring zu senden.

Wenn Ihr Cloud Run-Dienst stattdessen OTLP-Messwertdaten schreibt, können Sie einen OpenTelemetry-Sidecar verwenden. Ein Beispiel für das Erfassen von OTLP-Messwertdaten mit dem Sidecar finden Sie in der Anleitung zum Erfassen von OTLP-Messwertdaten.