Instrumentierungsansatz wählen

Diese Seite enthält Empfehlungen zur Instrumentierung Ihrer Anwendung auf verschiedenen Google Cloud-Plattformen wie Google Kubernetes Engine (GKE) und Cloud Run. Wenn Ihre Anwendung noch nicht instrumentiert ist, können Sie anhand dieser Empfehlungen bestimmen, wie Sie Ihre Anwendung so instrumentieren können, dass Telemetriedaten an Google Cloud gesendet werden. Die Empfehlungen auf dieser Seite sind nicht die einzigen Lösungen. Es können auch andere Ansätze funktionieren. Weitere Informationen erhalten Sie vom Google Cloud-Support.

Es gibt Empfehlungen für folgende Optionen:

Informationen zu Instrumentierungsbeispielen finden Sie in den Dokumenten, die im Abschnitt Codebeispiele aufgeführt sind.

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:

  1. Verwenden Sie das OpenTelemetry SDK und den OTLP-Exporter für Ihre Sprache.
  2. Konfigurieren Sie den OpenTelemetry Collector so, dass OTLP-Traces an Google Cloud gesendet werden.
Logs

Konfigurieren Sie Ihre Anwendung so, dass JSON-strukturierte Logs an stdout und stderr ausgegeben werden. Eine Liste der Frameworks finden Sie unter Empfohlene Logging-Frameworks.

GKE erfasst automatisch Logs, die in stdout und stderr geschrieben werden. Weitere Informationen finden Sie unter GKE-Logs.

Compute Engine

Allgemeine Informationen zu Compute Engine finden Sie unter VM-Instanzen.

Typ Empfehlung
Messwerte und Traces

Gehen Sie dazu so vor:

  1. Verwenden Sie das OpenTelemetry SDK und den OTLP-Exporter für Ihre Sprache.
  2. Verwenden Sie den Ops-Agent, um Messwerte und Traces zu erfassen. Ein Beispiel finden Sie unter OpenTelemetry Protocol-Messwerte und -Traces erfassen.

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:

  1. Konfigurieren Sie Ihre Anwendung so, dass JSON-strukturierte Logs in eine Datei ausgegeben werden. Eine Liste der Frameworks finden Sie unter Empfohlene Logging-Frameworks.
  2. Ops-Agent installieren und einen Empfänger konfigurieren. Ein Beispiel finden Sie unter Logging-Empfänger.

Cloud Run

Allgemeine Informationen zu Cloud Run finden Sie unter Was ist Cloud Run?.

Typ Empfehlung
Messwerte und Traces

Gehen Sie dazu so vor:

  1. Verwenden Sie das OpenTelemetry SDK und den OTLP-Exporter für Ihre Sprache.
  2. Konfigurieren Sie die OpenTelemetry-Sidecar-Datei so, dass Messwerte und Traces erfasst werden. Ein Beispiel finden Sie unter OTLP-Messwerten mit einem OpenTelemetry-Sidecar schreiben.
  3. Legen Sie die CPU fest, die in Cloud Run immer zugewiesen werden soll. Da die OpenTelemetry-Instrumentierung eine Hintergrundverarbeitung durchführt, empfehlen wir, dass instrumentierte Cloud Run-Dienste eine immer zugewiesene CPU verwenden. Weitere Informationen finden Sie unter CPU-Zuweisung (Dienste).

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 an stdout und stderr ausgegeben werden. Eine Liste der Frameworks finden Sie unter Empfohlene Logging-Frameworks.

Cloud Run erfasst automatisch in stdout und stderr geschriebene Logs. Weitere Informationen finden Sie unter Containerlogs schreiben.

Cloud Functions

Allgemeine Informationen zu Cloud Functions finden Sie in der Übersicht zu Cloud Functions.

Typ Empfehlung
Messwerte Das direkte Schreiben von Messwerten wird in Cloud Functions nicht unterstützt. Um Messwerte zu generieren, empfehlen wir die Verwendung logbasierter Messwerte.
Traces Verwenden Sie das SDK und den Cloud Trace-Exporter für Ihre Sprache.
Logs

Konfigurieren Sie Ihre Anwendung so, dass JSON-strukturierte Logs an stdout und stderr ausgegeben werden. Eine Liste der Frameworks finden Sie unter Empfohlene Logging-Frameworks.

Cloud Functions erfasst automatisch in stdout und stderr geschriebene Logs. Weitere Informationen finden Sie unter Cloud Functions-Funktion-Logs ansehen und schreiben.

App Engine

Allgemeine Informationen zu App Engine finden Sie in der App Engine-Übersicht.

Typ Empfehlung
Messwerte Verwenden Sie das SDK und den Cloud Monitoring-Exporter für Ihre Sprache.
Traces Verwenden Sie das SDK und den Cloud Trace-Exporter für Ihre Sprache.
Logs

Konfigurieren Sie Ihre Anwendung so, dass JSON-strukturierte Logs an stdout und stderr ausgegeben werden. Eine Liste der Frameworks finden Sie unter Empfohlene Logging-Frameworks.

App Engine erfasst automatisch in stdout und stderr geschriebene Logs. Weitere Informationen finden Sie unter Logs schreiben und ansehen.

Empfohlene Logging-Frameworks

Zum Erfassen von Logs empfehlen wir die Verwendung eines Frameworks, das für die Ausgabe serialisierter JSON-Objekte an stdout, stderr oder in eine Datei konfiguriert werden kann. Der integrierte oder installierte Logging-Agent extrahiert die Datei und schreibt strukturierte Logs für Cloud Logging. Zum Schreiben von Logdaten empfehlen wir Folgendes:

Codebeispiele

Codebeispiele, die zeigen, wie Sie Ihre Anwendung zum Senden von Telemetriedaten an Google Cloud instrumentieren, finden Sie unter:

Verweise auf OpenTelemetry

Dieser Abschnitt enthält Links zum OpenTelemetry SDK und zu den Exportern für OTLP, Cloud Trace und Cloud Monitoring.

Allgemeine Referenzen:

Go

Java

JavaScript

Python