Sie können den effektivsten Instrumentierungsansatz für Ihre Anwendung basierend auf Ihrer Google Cloud -Computing-Plattform und Ihren Telemetrieanforderungen auswählen. Dieser Leitfaden enthält Empfehlungen für Google Kubernetes Engine (GKE), Compute Engine und Cloud Run, die Ihnen bei der Entscheidung zwischen dem von Google entwickelten OpenTelemetry Collector, dem Ops-Agent und dem direkten prozessinternen OpenTelemetry-Export helfen.
Dieses Dokument enthält allgemeine Empfehlungen sowie Anleitungen für die folgenden Plattformen:
Beispielanwendungen finden Sie unter Beispiele und Implementierungsleitfäden.
Die Empfehlungen auf dieser Seite sind nicht die einzigen Lösungen. Es können auch andere Ansätze funktionieren. Weitere Informationen erhalten Sie von Cloud Customer Care.
Allgemeine Empfehlungen
Dieser Abschnitt enthält allgemeine Empfehlungen zur Instrumentierung Ihrer Anwendung. Plattformspezifische Anleitungen finden Sie unter Plattformempfehlungen.
Logdaten: Wir empfehlen, ein Framework zu verwenden, das so konfiguriert werden kann, dass JSON-strukturierte Logs für Cloud Logging ausgegeben werden. Zum Schreiben von Logdaten empfehlen wir Folgendes:
Messwertdaten: Wir empfehlen die Verwendung von OpenTelemetry oder Prometheus-Clientbibliotheken:
- OpenTelemetry bietet ein anbieterneutrales Open-Source-Framework und Clientbibliotheken, um Anwendungen für Messwerte zu instrumentieren.
- Prometheus-Clientbibliotheken (Go, Java, Python usw.) generieren Messwerte, die an einem HTTP-Endpunkt bereitgestellt und von einem Agenten extrahiert werden können.
Trace-Daten: Wir empfehlen, OpenTelemetry zu verwenden, um verteilte Trace-Daten aus Ihrem Anwendungscode zu generieren.
OpenTelemetry-Sammlungsarchitekturen
Wenn Sie eine Anwendung mit OpenTelemetry-Bibliotheken instrumentieren, können Sie Telemetriedaten über den eigenständigen OpenTelemetry Collector weiterleiten oder direkt aus Ihrem Anwendungsprozess exportieren. Die OpenTelemetry Collector-Konfigurationsdatei steuert, wie der Collector Telemetriedaten empfängt, verarbeitet und exportiert. Im Allgemeinen empfehlen wir, dass Collectors Telemetriedaten über das OpenTelemetry Protocol (OTLP) empfangen und exportieren. Die Telemetry (OTLP) API implementiert dieses Protokoll.
Es gibt zwei grundlegende Ansätze, um Telemetriedaten an Ihr Google Cloud -Projekt zu senden:
Collector-basierter Export (anbieterneutral): Sie instrumentieren Ihren Anwendungscode mit dem OpenTelemetry SDK und verwenden den prozessinternen OTLP-Exporter, um Daten an einen OpenTelemetry-Collector zu senden, z. B. den von Google entwickelten OpenTelemetry-Collector oder einen Ops-Agent-Empfänger. Der Collector empfängt die Telemetriedaten und leitet sie an Ihr Google Cloud -Projekt weiter. Ihr Anwendungscode bleibt vollständig anbieterneutral.
Direkter Export (anbieterspezifisch): Sie instrumentieren Ihren Anwendungscode mit dem OpenTelemetry SDK und konfigurieren OpenTelemetry so, dass Telemetriedaten mithilfe der Telemetry API an Ihr Projekt gesendet werden. Sie müssen keinen Collector bereitstellen, aber Ihr Anwendungscode enthält anbieterspezifische Abhängigkeiten.
Wir empfehlen, einen OpenTelemetry-Collector zu verwenden, wenn Ihre Compute-Umgebung einen unterstützt. Verwenden Sie für Umgebungen, in denen die Ausführung eines separaten Collector-Prozesses nicht praktikabel ist, den direkten prozessinternen Export.
Plattformempfehlungen
Da Google Cloud -Computing-Umgebungen unterschiedliche Lebenszyklus- und Sidecar-Funktionen haben, variiert das optimale Erfassungsmuster je nach Plattform. In den folgenden Abschnitten finden Sie spezifische Empfehlungen für Ihre Bereitstellungsumgebung.
GKE
Allgemeine Informationen zu GKE finden Sie in der GKE-Übersicht.
| Typ | Empfehlung |
|---|---|
| Messwerte | Wir empfehlen die Verwendung von Google Cloud Managed Service for Prometheus. Führen Sie für die Instrumentierung einen der folgenden Schritte aus:
|
| Traces | Gehen Sie dazu so vor:
|
| Logs | Konfigurieren Sie Ihre Anwendung so, dass JSON-strukturierte Logs in Die GKE erfasst automatisch Logs, die in |
Compute Engine
Allgemeine Informationen zu Compute Engine finden Sie unter VM-Instanzen.
| Typ | Empfehlung |
|---|---|
| Messwerte und Traces | Gehen Sie dazu so vor:
Wenn Sie die Erfassung nur für Messwerte im Prometheus-Format konfigurieren möchten, können Sie auch den Ops-Agent-Prometheus-Empfänger verwenden, um Messwerte zu erfassen, die mit Prometheus-Clientbibliotheken oder dem OpenTelemetry SDK instrumentiert wurden. |
| Logs | Gehen Sie dazu so vor:
|
Cloud Run
Allgemeine Informationen zu Cloud Run finden Sie unter Was ist Cloud Run?.
| Typ | Empfehlung |
|---|---|
| Messwerte und Traces | Gehen Sie dazu so vor:
Wenn Sie die Erfassung nur für Messwerte im Prometheus-Format konfigurieren möchten, können Sie alternativ den Prometheus-Sidecar für Cloud Run verwenden, um Messwerte zu erfassen, die mit Prometheus-Clientbibliotheken oder dem OpenTelemetry SDK instrumentiert wurden. |
| Logs | Konfigurieren Sie Ihre Anwendung so, dass JSON-strukturierte Logs in Cloud Run erfasst automatisch Logs, die in |
Cloud Run-Funktionen
Allgemeine Informationen zu Cloud Run Functions finden Sie unter Cloud Run Functions – Übersicht.
| Typ | Empfehlung |
|---|---|
| Messwerte | Das direkte Schreiben von Messwertdaten wird in Cloud Run Functions nicht unterstützt. Sie können logbasierte Messwerte generieren. |
| Traces | Verwenden Sie das OpenTelemetry SDK und den OTLP-Exporter für Ihre Sprache. |
| Logs | Konfigurieren Sie Ihre Anwendung so, dass JSON-strukturierte Logs in Cloud Run-Funktionen erfassen automatisch Logs, die in |
App Engine
Allgemeine Informationen zu App Engine finden Sie in der App Engine-Übersicht.
| Typ | Empfehlung |
|---|---|
| Messwerte | Verwenden Sie das OpenTelemetry SDK und den OTLP-Exporter für Ihre Sprache. |
| Traces | Verwenden Sie das OpenTelemetry SDK und den OTLP-Exporter für Ihre Sprache. |
| Logs | Konfigurieren Sie Ihre Anwendung so, dass JSON-strukturierte Logs in App Engine erfasst automatisch Logs, die in |
Beispiele und Implementierungsleitfäden
In der Beispielübersicht werden die Architektur und die erforderlichen IAM-Rollen (Identity and Access Management) für die folgenden Collector-basierten Codebeispiele beschrieben:
Unter Vom Trace-Exporter zum OTLP-Endpunkt migrieren wird beschrieben, wie Sie eine Anwendung aktualisieren, die den direkten Export verwendet, um Trace-Daten im OTLP-Format zu senden.
Unter Beobachtbarkeit für Entwickler von KI-Agenten wird beschrieben, wie Sie generative KI-Agenten, die mit LangGraph oder dem Agent Development Kit (ADK) erstellt wurden, instrumentieren oder aktivieren.
OpenTelemetry-Dokumentation
In diesem Abschnitt finden Sie Links zum OpenTelemetry SDK und zu den OTLP-Exportern in verschiedenen Sprachen.
Allgemeine Referenzen: