In diesem Dokument wird veranschaulicht, wie Sie Messwerte direkt von 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 Anwendungs-Messwerte direkt an den OTLP-Endpunkt senden, übernimmt der OpenTelemetry Collector die Authentifizierung und Anreicherung nicht 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, damit Google Standardanmeldedaten für Anwendungen verwendet werden, wie unter Authentifizierungsanmeldedaten abrufen beschrieben.
- Erkennen Google Cloud von Kubernetes-Ressourcen aus der Anwendung. Die Vorgehensweise hängt von der verwendeten Anwendung ab.
Hinweise
Zum Ausführen der Beispiele müssen Sie die erforderlichen APIs aktivieren und Authentifizierungsanmeldedaten abrufen.
APIs aktivieren
Aktivieren Sie die Cloud Monitoring API und die Telemetry API in IhremGoogle Cloud -Projekt, indem Sie den folgenden Befehl ausführen:
gcloud services enable monitoring.googleapis.com telemetry.googleapis.com
Anmeldedaten für die Authentifizierung abrufen
Konfigurieren Sie Anmeldedaten für den OTLP-gRPC-Exporter für die Verwendung von Standardanmeldedaten für Anwendungen von Google, indem Sie den folgenden Befehl ausführen:
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 und zum Aufrufen des Codes zu erhalten.
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 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 README-Datei für das Python-Beispiel.README
Downward API für Anwendungen verwenden, die als Pods ausgeführt werden
Wenn Sie die Anwendung als Pod in Kubernetes ausführen und keine Daten ü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 zum
otlphttp-Exporter von einem anderen Exporter finden Sie unter Zum OTLP-Exporter migrieren. - Weitere Informationen zur Telemetry API finden Sie unter Telemetry API (OTLP) – Übersicht.