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 dell'applicazione direttamente all'endpoint OTLP, OpenTelemetry Collector non gestisce l'autenticazione e l'arricchimento 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 Recuperare le credenziali di autenticazione.
- Rileva Google Cloud le risorse Kubernetes dall'applicazione. La procedura dipende dall'applicazione in esecuzione.
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 il seguente comando:
gcloud services enable monitoring.googleapis.com telemetry.googleapis.com
Recupera le credenziali di autenticazione
Configura le credenziali per l'esportatore gRPC OTLP in modo che utilizzi le credenziali predefinite dell'applicazione di Google 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 di conteggio. Seleziona una scheda per informazioni sull'esecuzione dell'esempio e per visualizzare il codice.
Go
Per informazioni sulla configurazione e l'esecuzione di questo esempio, consulta il file
README per l'esempio Go.
Java
Per informazioni sulla configurazione e l'esecuzione di questo esempio, consulta il file
README per l'esempio Java.
NodeJS
Per informazioni sulla configurazione e l'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 il file
README per l'esempio Python.
Utilizzare l'API Downward per le applicazioni in esecuzione come pod
Se esegui l'applicazione come pod in Kubernetes e non invii 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 un collettore OpenTelemetry e dell'API Telemetry con la strumentazione zero-code OpenTelemetry, consulta Utilizzare la strumentazione zero-code OpenTelemetry per Java.
- Per informazioni sulla migrazione all'esportatore
otlphttpda un altro esportatore, vedi Eseguire la migrazione all'esportatore OTLP. - Per scoprire di più sull'API Telemetry, consulta la panoramica dell'API Telemetry (OTLP).