Google Cloud Observability umfasst Beobachtbarkeitsdienste, mit denen Sie das Verhalten, den Zustand und die Leistung Ihrer Anwendungen, einschließlich agentenbasierter Anwendungen, besser verstehen 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:
- Definitionen von Begriffen wie Beobachtbarkeit, Beobachtbarkeit von Agents und Beobachtbarkeit von Anwendungen und APM.
- Die Vorteile von Beobachtbarkeitsdiensten für die Entwicklung und Wartung zuverlässiger Anwendungen.
- Wie Sie mit Google Cloud Observability den Anwendungs- und Infrastrukturzustand überwachen und verwalten können
- Erste Schritte für die Beobachtbarkeit inGoogle Cloud.
Beobachtbarkeit
Beobachtbarkeit ist ein umfassender Ansatz zum Erfassen und Analysieren von Telemetriedaten, mit dem Sie den Zustand Ihrer Anwendungen, einschließlich agentenbasierter Anwendungen, und ihrer Betriebsumgebung besser nachvollziehen können. Telemetriedaten umfassen Logdaten, Messwertdaten und Tracedaten. Sie können auch andere Daten enthalten, 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 Zustand 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, zu verstehen, 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 Trace-Daten kann diese Lücke geschlossen werden.
- Trace-Daten
Ein Trace stellt den Pfad einer Anfrage über die Komponenten Ihrer verteilten Anwendung hinweg dar. Jeder Trace stellt also einen einzelnen End-to-End-Vorgang dar. 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 Agent-basierten 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 eines Vorfalls 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
Agent-Beobachtbarkeit 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-Agents 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 Anwendungsbeobachtbarkeit mit Application Monitoring. Damit werden Dashboards erstellt, auf denen Telemetriedaten, Messwertdaten für KI-Ressourcen und Informationen wie offene Vorfälle angezeigt werden. Weitere Informationen finden Sie im Abschnitt Beobachtbarkeit von Agenten und Anwendungen in Google Cloud in diesem Dokument.
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. Mit diesen Systemen können Sie Fehler 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 Anwendungsbeobachtbarkeit mit Application Monitoring. Damit werden Dashboards erstellt, auf denen Telemetriedaten, Messwertdaten für KI-Ressourcen und Informationen wie offene Vorfälle angezeigt werden. Weitere Informationen finden Sie im Abschnitt Beobachtbarkeit von Agenten und Anwendungen in Google Cloud in diesem Dokument.
Beobachtbarkeitsdienste
Observability-Dienste erfassen, analysieren und korrelieren Telemetriedaten wie Logdaten, Messwertdaten und Trace-Daten. 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
- Anwendungen während der Entwicklung debuggen
- 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 sowohl von Ihren Anwendungen als auch von 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 Erfassung von Telemetriedaten
Monitoring, Logging und Trace sind Dienste, die standardmäßig aktiviert werden, wenn Sie ein Google Cloud -Projekt erstellen. Diese Dienste bieten die Kernfunktionen zum Erfassen, Analysieren und Visualisieren Ihrer Telemetriedaten:
- Telemetriedaten für die meisten Google Cloud -Dienste automatisch erfassen
- 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 Protokoll- 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. Bei der Instrumentierung handelt es sich um 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 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 Agenten empfehlen wir, Ihre Agenten mit dem Agent Development Kit (ADK) Framework zu erstellen. Da das ADK auf OpenTelemetry basiert, entspricht die vom ADK generierte Telemetrie den semantischen OpenTelemetry-Konventionen für generative KI.
Wenn Sie Fehler beheben, Kosten im Blick behalten oder das Verhalten von Agents analysieren möchten – auch von Gemini Enterprise Agent Platform-, Agent Gateway- und Model Armor-Agents –, benötigen Sie Log-, Messwert- und Tracedaten:
- Protokolle enthalten Informationen zu Ereignissen und Fehlern.
- Mit Messwerten können Sie Ihre 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 Agents. Weitere Informationen finden Sie unter KI-Ressourcen ansehen.
- Mit Prompt- und Antwortdaten können Sie die Qualität und Entscheidungsfindung von Agents mit dem Gen AI Evaluation Service bewerten.
Im Dashboard „Application Monitoring“ 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:
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:
- Anwendungen auf der Basis von generativer KI instrumentieren:
- Multimodale Prompts und Antworten erfassen und ansehen
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 Leistungssteigerung 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 Erfassung 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 einem Diagramm 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 Logdaten, Leistungsmesswerte und Benachrichtigungsrichtlinien für virtuelle Maschinen enthält.
Compute Engine-VMs zum Erfassen zusätzlicher Daten konfigurieren
Standardmäßig werden auf Compute Engine-VMs nur grundlegende Systemmesswerte und Logdaten erfasst. 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 Agent-Anwendung. Stattdessen ist es eine deterministische Software, die Telemetriedaten erfasst.
- Erfassen Sie automatisch Hostmesswertdaten wie CPU-, GPU-, Arbeitsspeicher- und Prozessmesswertdaten.
- Systemlogdaten wie Syslog von Linux-VMs und Windows-Ereignisprotokolle von Windows-VMs werden automatisch erfasst.
- Sie können Ihre Anwendungen mit den folgenden Tools beobachten:
- Anwendungsintegrationen von Drittanbietern für beliebte Software wie Postgres, MongoDB und Java Virtual Machine. Diese Integrationen enthalten vorkonfigurierte Dashboards und Benachrichtigungsrichtlinien.
- Prometheus-Messwertdaten
- OTLP-Messwertdaten und ‑Tracedaten (OpenTelemetry Protocol)
- Anwendungslogdaten
- Eine Zusammenfassung der erfassten Telemetriedaten finden Sie in der Übersicht zum Ops-Agent.
GKE-Cluster für die Erfassung zusätzlicher Daten konfigurieren
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.
- Verwenden Sie Pakete für Messwertdaten zur Beobachtbarkeit, um den Status Ihrer Anwendungen und Clusterressourcen besser zu verstehen. Messwertdaten der Steuerungsebene sind beispielsweise nützlich, um SLOs zum Überwachen der Dienstverfügbarkeit und ‑latenz zu erstellen.
- Überwachen Sie Anwendungen von Drittanbietern wie Postgres, MongoDB und Redis. Diese Integrationen bieten vorkonfigurierte Dashboards und Benachrichtigungsrichtlinien.
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.