En este documento, se ilustra cómo puedes enviar métricas directamente desde las aplicaciones al extremo de OTLP con un SDK y el exportador de gRPC, que es el exportador recomendado para usar con los SDKs.
El extremo de OTLP admite todos los protocolos de OTLP, incluidos http/proto, http/json y grpc. Para obtener más información, consulta
Compatibilidad con los protocolos.
Cuando envías métricas de la aplicación directamente al extremo de OTLP, el recopilador de OpenTelemetry no controla la autenticación ni el enriquecimiento por ti. Cuando usas SDKs para enviar métricas desde aplicaciones, debes hacer lo siguiente:
- Configurar las credenciales para que el exportador de gRPC de OTLP use las credenciales predeterminadas de la aplicación de Google , como se describe en Obtén credenciales de autenticación.
- Detectar recursos de Kubernetes desde la aplicación Google Cloud La forma de hacerlo depende de la aplicación que ejecutes
Antes de comenzar
Para ejecutar los ejemplos, debes habilitar las APIs necesarias y obtener credenciales de autenticación.
Habilita las APIs
Para habilitar la API de Cloud Monitoring y la API de Telemetry en tu Google Cloud proyecto, ejecuta el siguiente comando:
gcloud services enable monitoring.googleapis.com telemetry.googleapis.com
Obtén credenciales de autenticación
Para configurar las credenciales para que el exportador de gRPC de OTLP use las credenciales predeterminadas de la aplicación de Google , ejecuta el siguiente comando:
gcloud auth application-default login
Ejemplos específicos del lenguaje
En esta sección, se proporciona una selección de muestras específicas del lenguaje que crean y escriben una métrica de contador. Selecciona una pestaña para obtener información sobre cómo ejecutar la muestra y ver el código.
Go
Si deseas obtener información para configurar y ejecutar este ejemplo, consulta el
README archivo de la
muestra de Go.
Java
Si deseas obtener información para configurar y ejecutar este ejemplo, consulta el
README archivo de la
muestra de Java.
NodeJS
Si deseas obtener información para configurar y ejecutar este ejemplo, consulta el
README archivo de la
muestra de NodeJS.
Python
Si deseas obtener información para ejecutar este ejemplo, consulta el archivo README de la
muestra de
Python.README
Usa la API de Downward para aplicaciones que se ejecutan como pods
Si ejecutas la aplicación como un pod en Kubernetes y no la envías a través del recopilador de OpenTelemetry, asegúrate de usar la API de Downward para establecer atributos de recursos de 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)
¿Qué sigue?
- Si deseas obtener información para usar un recopilador de OpenTelemetry y la API de Telemetry con la instrumentación de código cero de OpenTelemetry, consulta Usa la instrumentación de código cero de OpenTelemetry para Java.
- Si deseas obtener información para migrar al exportador
otlphttpdesde otro exportador, consulta Migra al exportador de OTLP. - Para obtener más información sobre la API de Telemetry, consulta Descripción general de la API de Telemetry (OTLP).