Sie können den effektivsten Instrumentierungsansatz für Ihre Anwendung basierend auf Ihrer Google Cloud Compute-Plattform und Telemetrie Anforderungen auswählen. In dieser Anleitung finden Sie 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 In-Process-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. Wenn Sie weitere Unterstützung benötigen, wenden Sie sich an den Cloud Customer Care.
Allgemeine Empfehlungen
In diesem Abschnitt finden Sie allgemeine Empfehlungen zur Instrumentierung Ihrer Anwendung. Plattformspezifische Anleitungen finden Sie unter Plattformempfehlungen.
Logdaten: Wir empfehlen die Verwendung eines Frameworks, das so konfiguriert werden kann, dass JSON-strukturierte Logs für Cloud Logging ausgegeben werden. Für das 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 zur Instrumentierung von Anwendungen für Messwerte.
- Prometheus-Clientbibliotheken (Go, Java, Python usw.) generieren Messwerte, die an einem HTTP-Endpunkt verfügbar gemacht und von einem Agenten extrahiert werden können.
Trace-Daten: Wir empfehlen die Verwendung von OpenTelemetry, um verteilte Trace-Daten aus Ihrem Anwendungscode zu generieren.
OpenTelemetry-Erfassungsarchitekturen
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 mit dem OpenTelemetry Protocol (OTLP) empfangen und exportieren. Die Telemetry (OTLP) API implementiert dieses Protokoll.
Es gibt zwei grundlegende Ansätze zum Senden von Telemetriedaten an Ihr Google Cloud Projekt:
Collector-basierter Export (anbieterneutral): Sie instrumentieren Ihren Anwendungscode mit dem OpenTelemetry SDK und verwenden den In-Process-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 mit der Telemetry API an IhrProjekt gesendet werden. Sie müssen keinen Collector bereitstellen, aber Ihr Anwendungscode enthält anbieterspezifische Abhängigkeiten.
Wir empfehlen die Verwendung eines OpenTelemetry Collectors, 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 In-Process-Export.
Plattformempfehlungen
Da Google Cloud Compute-Umgebungen unterschiedliche Lebenszyklen 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 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, verwenden Sie den Ops-Agent-Prometheus-Empfänger 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, verwenden Sie den Prometheus Sidecar für Cloud Run, 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-Funktionen finden Sie in der Übersicht zu Cloud Run-Funktionen.
| Typ | Empfehlung |
|---|---|
| Messwerte | Das direkte Schreiben von Messwertdaten wird in Cloud Run-Funktionen nicht unterstützt. Sie können logbasierte Messwerte generieren. |
| Traces | Verwenden Sie das OpenTelemetry SDK und den Cloud Trace-Exporter für Ihre Sprache. |
| Logs | Konfigurieren Sie Ihre Anwendung so, dass JSON-strukturierte Logs in Cloud Run-Funktionen erfasst 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 Cloud Monitoring-Exporter für Ihre Sprache. |
| Traces | Verwenden Sie das OpenTelemetry SDK und den Cloud Trace-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
Beispielübersicht beschreibt die Architektur und die erforderlichen Rollen für Identity and Access Management für die folgenden collectorbasierten Codebeispiele:
Von Trace-Exporter zum OTLP-Endpunkt migrieren beschreibt, wie Sie eine Anwendung aktualisieren, die den direkten Export verwendet, um Trace-Daten im OTLP-Format zu senden.
Generative KI-Anwendungen instrumentieren beschreibt, wie Sie generative KI-Agenten instrumentieren oder aktivieren , die mit LangGraph oder dem Agent Development Kit (ADK) Framework erstellt wurden.
OpenTelemetry-Dokumentation
In diesem Abschnitt finden Sie Links zum OpenTelemetry SDK und zu den Exportern für OTLP, Cloud Trace und Cloud Monitoring.
Allgemeine Referenzen:
Go
Java
JavaScript
- JavaScript SDK
- JavaScript OTLP-Exporter
- JavaScript Cloud Trace-Exporter
- JavaScript Cloud Monitoring-Exporter