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 ulteriori informazioni, vedi
Supporto dei protocolli.
Quando invii le metriche delle applicazioni direttamente all'endpoint OTLP, OpenTelemetry Collector non gestisce l'autenticazione e l'arricchimento per te. Quando utilizzi gli SDK per inviare le metriche dalle applicazioni, devi:
- Configurare le credenziali per l'esportatore gRPC OTLP in modo che utilizzi le credenziali predefinite dell'applicazione Google , come descritto in Recuperare le credenziali di autenticazione.
- Rilevare le risorse Kubernetes e dall'applicazione. Google Cloud La procedura dipende dall'applicazione che stai eseguendo.
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 Google Cloud progetto eseguendo il seguente comando:
gcloud services enable monitoring.googleapis.com telemetry.googleapis.com
Richiedi credenziali di autenticazione
Configura le credenziali per l'esportatore gRPC OTLP in modo che utilizzi le credenziali predefinite dell'applicazione Google Application Default Credentials eseguendo il seguente comando:
gcloud auth application-default login
Esempi specifici per lingua
Questa sezione fornisce una selezione di esempi specifici per lingua 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
README file per l'
esempio Go.
Java
Per informazioni sulla configurazione e sull'esecuzione di questo esempio, consulta il
README file per l'
esempio Java.
NodeJS
Per informazioni sulla configurazione e sull'esecuzione di questo esempio, consulta il
README file per l'
esempio NodeJS.
Python
Per informazioni sull'esecuzione di questo esempio, consulta il README file per il
README file per l'
esempio Python.
Utilizzare l'API downward per le applicazioni in esecuzione come pod
Se l'applicazione è in esecuzione come pod in Kubernetes e non viene inviata tramite OpenTelemetry Collector, 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 OpenTelemetry Collector e dell' API Telemetry con l'instrumentazione zero-code di OpenTelemetry, vedi Utilizzare l'instrumentazione zero-code di OpenTelemetry per Java.
- Per informazioni sulla migrazione all'esportatore
otlphttpda un altro esportatore, vedi Eseguire la migrazione all'esportatore OTLP. - Per saperne di più sull'API Telemetry, vedi Panoramica dell'API Telemetry (OTLP).