In diesem Dokument wird gezeigt, wie Sie Messwerte direkt von Anwendungen an den OTLP-Endpunkt senden können. Verwenden Sie dazu ein SDK und den gRPC-Exporter, der für die Verwendung mit SDKs empfohlen wird.
Der OTLP-Endpunkt unterstützt alle OTLP-Protokolle, einschließlich http/proto, http/json und grpc. Weitere Informationen finden Sie unter Protokollunterstützung.
Wenn Sie Anwendungsmesswerte direkt an den OTLP-Endpunkt senden, übernimmt der OpenTelemetry Collector nicht die Authentifizierung, Ressourcenerkennung oder Batchverarbeitung für Sie. Wenn Sie SDKs verwenden, um Messwerte aus Anwendungen zu senden, müssen Sie Folgendes tun:
- Konfigurieren Sie die Anmeldedaten für den OTLP-gRPC-Exporter so, dass die Standardanmeldedaten für Anwendungen verwendet werden, wie unter Authentifizierungsdaten abrufen beschrieben.
- Google Cloud - und Kubernetes-Ressourcen aus der Anwendung erkennen. Die Vorgehensweise hängt von der Anwendung ab, die Sie ausführen.
- Konfigurieren Sie eine maximale Batchgröße für den Export von 200 Messwertdatenpunkten, damit Anfragen das Telemetry API-Limit von 200 Datenpunkten pro Anfrage nicht überschreiten.
Hinweis
Wenn Sie die Beispiele ausführen möchten, müssen Sie die erforderlichen APIs aktivieren und Authentifizierungsdaten abrufen.
APIs aktivieren
Aktivieren Sie die Cloud Monitoring API und die Telemetry API in IhremGoogle Cloud -Projekt mit dem folgenden Befehl:
gcloud services enable monitoring.googleapis.com telemetry.googleapis.com
Authentifizierungsdaten abrufen
Konfigurieren Sie die Anmeldedaten für den OTLP-gRPC-Exporter, um die Standardanmeldedaten für Anwendungen von Google zu verwenden. Führen Sie dazu den folgenden Befehl aus:
gcloud auth application-default login
Sprachspezifische Beispiele
In diesem Abschnitt finden Sie eine Auswahl sprachspezifischer Beispiele, mit denen ein Zählermesswert erstellt und geschrieben wird. Wählen Sie einen Tab aus, um Informationen zum Ausführen des Beispiels zu erhalten und den Code aufzurufen.
Go
Informationen zum Konfigurieren und Ausführen dieses Beispiels finden Sie in der Datei README für das Go-Beispiel.
Java
Informationen zum Konfigurieren und Ausführen dieses Beispiels finden Sie in der Datei README für das Java-Beispiel.
NodeJS
Informationen zum Konfigurieren und Ausführen dieses Beispiels finden Sie in der Datei README für das NodeJS-Beispiel.
Python
Informationen zum Ausführen dieses Beispiels finden Sie in der Datei README für das Python-Beispiel.
Downward API für Anwendungen verwenden, die als Pods ausgeführt werden
Wenn Sie die Anwendung als Pod in Kubernetes ausführen und keine Telemetriedaten über den OpenTelemetry Collector senden, müssen Sie die Downward API verwenden, um Kubernetes-Ressourcenattribute festzulegen:
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: NAMESPACE_NAME
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: CONTAINER_NAME
value: my-container-name
- name: OTEL_RESOURCE_ATTRIBUTES
value: k8s.pod.name=$(POD_NAME),k8s.namespace.name=$(NAMESPACE_NAME),k8s.container.name=$(CONTAINER_NAME)
Nächste Schritte
- Informationen zur Verwendung eines OpenTelemetry-Collectors und der Telemetry API mit der OpenTelemetry-Zero-Code-Instrumentierung finden Sie unter OpenTelemetry-Zero-Code-Instrumentierung für Java verwenden.
- Informationen zur Migration von einem anderen Exporter zum
otlphttp-Exporter finden Sie unter Zum OTLP-Exporter migrieren. - Weitere Informationen zur Telemetry API finden Sie unter Telemetry (OTLP) API – Übersicht.