OpenTelemetry ist ein Google Cloud-unterstütztes Open-Source-Projekt, bei dem Google Cloud Techniker dafür sorgen, dass die Aufnahme und Visualisierung Ihrer Telemetriedaten unterstützt wird.
Weitere Informationen zu dieser API finden Sie in den folgenden Referenzdokumenten:
Best Practices
Wenn Sie Ihre Anwendungen instrumentieren, um Tracedaten an Ihr Google Cloud Projekt zu senden, empfehlen wir Ihnen, einen Exporter zu verwenden, der Daten im OTLP-Format in einen Collectorschreibt. Dieser sendet die Tracedaten dann an die Telemetry API. Geben Sie in Ihrem Collector nur die Stamm-URL an:
exporters:
otlphttp:
encoding: proto
endpoint: https://telemetry.googleapis.com
OpenTelemetry erkennt den Datentyp und fügt automatisch /v1/traces, /v1/metrics oder /v1/logs an. Weitere Informationen finden Sie unter
OTLP/HTTP-Anfrage.
Beispiele für das Exportieren von Trace- oder Messwertdaten in die Telemetry API finden Sie in den folgenden Dokumenten:
- Übersicht über Instrumentierungsbeispiele auf Collector-Basis.
- Übersicht über die OTLP-Messwerterfassung.
Wenn Sie keinen Collector verwenden können, können Sie eine OpenTelemetry-Bibliothek verwenden, die einen In-Process-OTLP-Exporter enthält, um Telemetriedaten an die Telemetry API zu senden. Informationen zum direkten Exportieren von Tracedaten finden Sie unter Cloud Trace-Exporter zum OTLP-Endpunkt.
Authentifizierung
Sie müssen Ihre Exporter mit den Anmeldedaten konfigurieren, die zum Senden von
Daten an Ihr Google Cloud Projekt erforderlich sind. Wenn Sie beispielsweise Collector verwenden, verwenden Sie in der Regel die Erweiterung googleclientauth, um sich mit Google-Anmeldedaten zu authentifizieren.
Ein Beispiel für die Authentifizierung bei der direkten Exportierung von Tracedaten finden Sie unter Authentifizierung konfigurieren. In diesem Beispiel wird veranschaulicht, wie Sie den Exporter mit Ihren Google Cloud Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) konfigurieren und Ihrer Anwendung eine sprachspezifische Google Auth-Bibliothek hinzufügen.
Wenn Sie Telemetriedaten mit der Telemetry API an Ihr Google Cloud Projekt senden möchten, müssen Sie außerdem Folgendes tun:
- Konfigurieren Sie ein Kontingentprojekt. Weitere Informationen finden Sie unter Kontingentprojekt festlegen.
- Weisen Sie dem Nutzer oder Dienstkonto, das von der Anwendung verwendet wird, die
Rolle „Service Usage Consumer“ (
roles/serviceusage.serviceUsageConsumer) für dieses Kontingentprojekt zu. Weisen Sie dem Nutzer oder Dienstkonto, das von der Anwendung verwendet wird, die folgenden Rollen für Ihr Projekt zu:
- Log-Autor (
roles/logging.logWriter) - Monitoring-Messwert-Autor (
roles/monitoring.metricWriter) - Cloud Telemetry Traces Writer (
roles/telemetry.tracesWriter)
- Log-Autor (
Unterstützung durch VPC Service Controls
Der Telemetry API-Dienst mit dem Dienstnamen telemetry.googleapis.com ist ein von VPC Service Controls unterstützter Dienst. Alle VPC Service Controls-Einschränkungen, die Sie für den Telemetry API-Dienst erstellen, gelten nur für diesen Dienst. Diese Einschränkungen gelten nicht für andere Dienste, einschließlich Dienste wie cloudtrace.googleapis.com, die auch Tracedaten aufnehmen können.
Weitere Informationen finden Sie unter:
Dienstendpunkte
Ein Dienstendpunkt ist eine Basis-URL, die die Netzwerkadresse eines API-Dienstes angibt. Die Telemetry API unterstützt einen globalen Endpunkt und regionale Endpunkte:
Globaler Endpunkt:
telemetry.googleapis.com. Nachdem Google Cloud Observability alle Validierungsschritte erfolgreich abgeschlossen hat, werden die Daten für diesen Endpunkt zur Speicherung an einen Backend-Dienst gesendet.Regionale Endpunkte:
telemetry.REGION.rep.googleapis.com, wobei REGION eine unterstützte Region ist. Nachdem Google Cloud Observability alle Validierungsschritte erfolgreich abgeschlossen hat, werden die Daten für diese Endpunkte an einen Back-End-Dienst gesendet. Dieser Dienst speichert oder verwirft die Daten:- Log- und Tracedaten werden gespeichert. Der Backend-Dienst verschiebt Daten bei Bedarf automatisch zwischen Regionen.
- Messwertdaten werden nur gespeichert, wenn das mit den Daten verknüpfte Standortlabel mit der Region des Endpunkts oder einer Zone in dieser Region übereinstimmt.
Eine Liste der unterstützten regionalen Endpunkte finden Sie auf den API-Referenzseiten.
Durch die Aufnahme von Tracedaten kann die Erstellung eines Observability-Buckets ausgelöst werden. Die Verwendung eines regionalen Endpunkts hat jedoch keine Auswirkungen darauf, wo das System den Observability-Bucket erstellt. Das System bestimmt den Standort eines Observability-Buckets anhand von Standardeinstellungen, Organisationsrichtlinien und den unterstützten Bucket-Standorten.