Puedes elegir el enfoque de instrumentación más eficaz para tu aplicación según tu plataforma de procesamiento de Google Cloud y los requisitos de telemetría. En esta guía, se proporcionan recomendaciones para Google Kubernetes Engine (GKE), Compute Engine y Cloud Run, lo que te ayudará a decidir entre el colector de OpenTelemetry compilado por Google, el Agente de operaciones y la exportación directa de OpenTelemetry en proceso.
En este documento, se proporcionan recomendaciones generales, así como orientación para las siguientes plataformas:
Para ver aplicaciones de ejemplo, consulta Muestras y guías de implementación.
Las recomendaciones de esta página no son las únicas soluciones, y otros enfoques pueden funcionar. Para obtener orientación adicional, comunícate con la Atención al cliente de Cloud.
Recomendaciones generales
En esta sección, se incluyen recomendaciones generales sobre cómo instrumentar tu aplicación. Para obtener orientación específica de la plataforma, consulta Recomendaciones de la plataforma.
Datos de registro: Te recomendamos que uses un framework que se pueda configurar para generar registros estructurados en JSON para Cloud Logging. Para escribir datos de registro, te recomendamos lo siguiente:
Datos de métricas: Te recomendamos que uses OpenTelemetry o las bibliotecas cliente de Prometheus:
- OpenTelemetry proporciona un framework de código abierto y neutral con respecto al proveedor, y bibliotecas cliente para instrumentar aplicaciones para métricas.
- Las bibliotecas cliente de Prometheus (Go, Java, Python, etc.) generan métricas que se pueden exponer en un extremo HTTP y que un agente puede recopilar.
Datos de seguimiento: Te recomendamos que uses OpenTelemetry para generar datos de seguimiento distribuidos a partir del código de tu aplicación.
Arquitecturas de recopilación de OpenTelemetry
Cuando instrumentas una aplicación con bibliotecas de OpenTelemetry, puedes enrutar la telemetría a través del recopilador de OpenTelemetry independiente o exportarla directamente desde el proceso de tu aplicación. El archivo de configuración del recopilador de OpenTelemetry controla cómo el recopilador recibe, procesa y exporta la telemetría. En general, recomendamos que los recopiladores reciban y exporten datos de telemetría con el protocolo de OpenTelemetry (OTLP). La API de Telemetry (OTLP) implementa este protocolo.
Existen dos enfoques fundamentales para enviar telemetría a tu proyecto de Google Cloud :
Exportación basada en recopiladores (independiente del proveedor): Instrumentas el código de la aplicación con el SDK de OpenTelemetry y usas el exportador de OTLP en proceso para enviar datos a un recopilador de OpenTelemetry, como el recopilador de OpenTelemetry creado por Google o un receptor del Agente de operaciones. El recopilador recibe la telemetría y la reenvía a tu proyecto de Google Cloud . El código de tu aplicación sigue siendo completamente independiente del proveedor.
Exportación directa (específica del proveedor): Instrumentas el código de tu aplicación con el SDK de OpenTelemetry y configuras OpenTelemetry para que envíe telemetría a tu proyecto con la API de Telemetry. No necesitas implementar un recopilador, pero el código de la aplicación incluye dependencias específicas del proveedor.
Te recomendamos que uses un recopilador de OpenTelemetry cuando tu entorno de procesamiento admita uno. En los entornos en los que no es práctico ejecutar un proceso de recopilador independiente, usa la exportación directa en proceso.
Recomendaciones para la plataforma
Debido a que los entornos de procesamiento de Google Cloud tienen diferentes capacidades de ciclo de vida y de sidecar, el patrón de recopilación óptimo varía según la plataforma. En las siguientes secciones, se proporcionan recomendaciones específicas para tu entorno de implementación.
GKE
Para obtener información general sobre GKE, consulta la Descripción general de GKE.
| Tipo | Recomendación |
|---|---|
| Métricas | Te recomendamos usar Google Cloud Managed Service para Prometheus. Para la instrumentación, realiza una de las siguientes acciones:
|
| Seguimiento | Haz lo siguiente:
|
| Registros | Configura la app para que genere registros estructurados en JSON en GKE recopila los registros escritos en |
Compute Engine
Para obtener información general sobre Compute Engine, consulta Instancias de máquina virtual.
| Tipo | Recomendación |
|---|---|
| Métricas y seguimientos | Haz lo siguiente:
Como alternativa, si solo deseas configurar la recopilación de métricas con formato de Prometheus, usa el receptor de Prometheus del Agente de operaciones para recopilar métricas instrumentadas con bibliotecas cliente de Prometheus o el SDK de OpenTelemetry. |
| Registros | Puedes hacer lo siguiente:
|
Cloud Run
Para obtener información general sobre Cloud Run, consulta Qué es Cloud Run.
| Tipo | Recomendación |
|---|---|
| Métricas y seguimientos | Puedes hacer lo siguiente:
Como alternativa, si solo deseas configurar la recopilación de métricas de formato Prometheus, puedes usar el sidecar de Prometheus para Cloud Run para recopilar métricas instrumentadas con Bibliotecas cliente de Prometheus o el SDK de OpenTelemetry. |
| Registros | Configura la app para que genere registros estructurados en JSON en Cloud Run recopila los registros escritos en |
Funciones de Cloud Run
Para obtener información general sobre Cloud Run Functions, consulta Descripción general de Cloud Run Functions.
| Tipo | Recomendación |
|---|---|
| Métricas | No se admite la escritura directa de datos de métricas en Cloud Run Functions. Puedes generar métricas basadas en registros. |
| Seguimiento | Usa el SDK de OpenTelemetry y el exportador de OTLP para tu lenguaje. |
| Registros | Configura la app para que genere registros estructurados en JSON en Cloud Run Functions recopila los registros escritos en
|
App Engine
Para obtener información general sobre App Engine, consulta Descripción general de App Engine.
| Tipo | Recomendación |
|---|---|
| Métricas | Usa el SDK de OpenTelemetry y el exportador de OTLP para tu lenguaje. |
| Seguimiento | Usa el SDK de OpenTelemetry y el exportador de OTLP para tu lenguaje. |
| Registros | Configura la app para que genere registros estructurados en JSON en App Engine recopila los registros escritos en |
Muestras y guías de implementación
En la descripción general de la muestra, se describen la arquitectura y los roles de Identity and Access Management necesarios para las siguientes muestras de código basadas en recopiladores:
En Migra del exportador de Trace al extremo de OTLP, se describe cómo actualizar una aplicación que usa la exportación directa para enviar datos de seguimiento con formato OTLP.
En Observabilidad para desarrolladores de agentes de IA, se describe cómo instrumentar o habilitar agentes de IA generativa creados con LangGraph o el framework del Kit de desarrollo de agentes (ADK).
Documentación de OpenTelemetry
En esta sección, se proporcionan vínculos al SDK de OpenTelemetry y a los exportadores de OTLP en diferentes lenguajes.
Referencias generales: