In diesem Dokument wird veranschaulicht, wie Sie Messwerte direkt aus Anwendungen an den OTLP-Endpunkt senden können. Dazu verwenden Sie 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 keine Authentifizierung und Anreicherung für Sie. Wenn Sie SDKs verwenden, um Messwerte aus Anwendungen zu senden, müssen Sie Folgendes tun:
- Konfigurieren Sie Anmeldedaten für den OTLP-gRPC-Exporter, um Google Standardanmeldedaten für Google-Anwendungen zu verwenden, wie unter Authentifizierungsdaten abrufen beschrieben.
- Erkennen Sie Google Cloud und Kubernetes-Ressourcen aus der Anwendung. Wie Sie das tun, hängt von der Anwendung ab, die Sie ausführen.
Hinweis
Damit Sie die Beispiele ausführen können, müssen Sie die erforderlichen APIs aktivieren und Authentifizierungsdaten abrufen.
APIs aktivieren
Aktivieren Sie die Cloud Monitoring API und die Telemetry API in Ihrem Google Cloud Projekt, indem Sie den folgenden Befehl ausführen:
gcloud services enable monitoring.googleapis.com telemetry.googleapis.com
Authentifizierungsdaten abrufen
Konfigurieren Sie Anmeldedaten für den OTLP-gRPC-Exporter, um Google Standardanmeldedaten für Anwendungen zu verwenden, indem Sie den folgenden Befehl ausführen:
gcloud auth application-default login
Sprachspezifische Beispiele
In diesem Abschnitt finden Sie eine Auswahl sprachspezifischer Beispiele, die einen Zählermesswert erstellen und schreiben. Wählen Sie einen Tab aus, um Informationen zum Ausführen des Beispiels zu erhalten und den Code anzusehen.
Go
Informationen zum Konfigurieren und Ausführen dieses Beispiels finden Sie in der
README Datei für das
Go-Beispiel.
Java
Informationen zum Konfigurieren und Ausführen dieses Beispiels finden Sie in der
README Datei für das
Java-Beispiel.
NodeJS
Informationen zum Konfigurieren und Ausführen dieses Beispiels finden Sie in der
README Datei für das
NodeJS-Beispiel.
Python
Informationen zum Ausführen dieses Beispiels finden Sie in der README Datei 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-Instrumentierung ohne Code finden Sie unter OpenTelemetry-Instrumentierung ohne Code für Java verwenden.
- Informationen zur Migration zu
otlphttp-Exporter von einem anderen Exporter finden Sie unter Zur OTLP-Exporter migrieren. - Weitere Informationen zur Telemetry API finden Sie unter Übersicht über die Telemetry API (OTLP).