Questo documento illustra come inviare le metriche direttamente dalle applicazioni all'endpoint OTLP utilizzando un SDK e l'esportatore gRPC, che è l'esportatore consigliato per l'utilizzo con gli SDK.
L'endpoint OTLP supporta tutti i protocolli OTLP, inclusi http/proto, http/json e grpc. Per saperne di più, consulta Supporto dei protocolli.
Quando invii le metriche dell'applicazione direttamente all'endpoint OTLP, il raccoglitore OpenTelemetry non gestisce l'autenticazione, il rilevamento delle risorse o il raggruppamento in batch per te. Quando utilizzi gli SDK per inviare metriche dalle applicazioni, devi:
- Configura le credenziali per l'esportatore gRPC OTLP in modo che utilizzi le Credenziali predefinite dell'applicazione di Google, come descritto in Ottieni le credenziali di autenticazione.
- Rileva le risorse Google Cloud e Kubernetes dall'applicazione. La procedura dipende dall'applicazione in esecuzione.
- Configura una dimensione massima del batch di esportazione di 200 punti dati delle metriche in modo che le richieste non superino il limite dell'API Telemetry di 200 punti dati per richiesta.
Prima di iniziare
Per eseguire gli esempi, devi abilitare le API necessarie e acquisire le credenziali di autenticazione.
Abilita API
Abilita l'API Cloud Monitoring e l'API Telemetry nel tuo progettoGoogle Cloud eseguendo questo comando:
gcloud services enable monitoring.googleapis.com telemetry.googleapis.com
Ottieni le credenziali di autenticazione
Configura le credenziali per l'esportatore gRPC OTLP in modo che utilizzi le Credenziali predefinite dell'applicazione di Google eseguendo questo comando:
gcloud auth application-default login
Esempi specifici per lingua
Questa sezione fornisce una selezione di esempi specifici per linguaggio che creano e scrivono una metrica contatore. Seleziona una scheda per informazioni sull'esecuzione dell'esempio e per visualizzare il codice.
Vai
Per informazioni sulla configurazione e sull'esecuzione di questo esempio, consulta il file README per l'esempio Go.
Java
Per informazioni sulla configurazione e sull'esecuzione di questo esempio, consulta il file README per l'esempio Java.
NodeJS
Per informazioni sulla configurazione e sull'esecuzione di questo esempio, consulta il file README per l'esempio NodeJS.
Python
Per informazioni sull'esecuzione di questo esempio, consulta il file README per l'esempio Python.
Utilizza l'API Downward per le applicazioni in esecuzione come pod
Se esegui l'applicazione come pod in Kubernetes e non invii la telemetria tramite il raccoglitore OpenTelemetry, assicurati di utilizzare l'API Downward per impostare gli attributi delle risorse Kubernetes:
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)
Passaggi successivi
- Per informazioni sull'utilizzo di un raccoglitore OpenTelemetry e dell'API Telemetry con la strumentazione zero-code di OpenTelemetry, consulta Utilizza la strumentazione zero-code di OpenTelemetry per Java.
- Per informazioni sulla migrazione all'esportatore
otlphttpda un altro esportatore, consulta Esegui la migrazione all'esportatore OTLP. - Per scoprire di più sull'API Telemetry, consulta la panoramica dell'API Telemetry (OTLP).