Elegir un enfoque de instrumentación

En esta página se incluyen recomendaciones para instrumentar tu aplicación en diferentesGoogle Cloud plataformas, como Google Kubernetes Engine (GKE) y Cloud Run. Si tu aplicación aún no está instrumentada, sigue estas recomendaciones para saber cómo instrumentarla y enviar datos de telemetría a Google Cloud. Las recomendaciones de esta página no son las únicas soluciones posibles, y hay otros enfoques que también pueden funcionar. Si necesitas más ayuda, ponte en contacto con el equipo de Asistencia deGoogle Cloud .

Hay recomendaciones para lo siguiente:

Para obtener información sobre ejemplos de instrumentación, consulta los documentos que se indican en la sección Ejemplos de código.

GKE

Para obtener información general sobre GKE, consulta la descripción general de GKE.

Tipo Recomendación
Métricas

Te recomendamos que uses Google Cloud Managed Service para Prometheus.

Para la instrumentación, haz una de las siguientes acciones:

Trazas

Sigue estos pasos:

  1. Despliega el Collector de OpenTelemetry creado por Google en Google Kubernetes Engine.

    El recolector recibe datos de seguimiento del exportador OTLP en proceso del SDK, procesa esos datos y, a continuación, los envía a tu proyecto de Google Cloud mediante la API Telemetry (OTLP).

  2. Usa el SDK de OpenTelemetry y el exportador OTLP para tu idioma.
Registros

Configura tu aplicación para que genere registros estructurados en formato JSON en stdout y stderr. Para ver una lista de los frameworks, consulta Frameworks de registro recomendados.

GKE recoge automáticamente los registros escritos en stdout y stderr. Para obtener más información, consulta el artículo Acerca de los registros de GKE.

Compute Engine

Para obtener información general sobre Compute Engine, consulta el artículo Instancias de máquina virtual.

Tipo Recomendación
Métricas y trazas

Sigue estos pasos:

  1. Usa el agente de operaciones para recoger métricas y trazas.

    Para ver un ejemplo, consulta Recoger métricas y trazas del protocolo OpenTelemetry (OTLP). En esta guía se describe cómo configurar el agente de operaciones para recibir datos de métricas y de trazas de los exportadores OTLP en proceso del SDK, transformar esos datos y, a continuación, enviarlos a tu proyecto de Google Cloud . Los datos de métricas se envían mediante la API Cloud Monitoring y los datos de trazas se envían mediante la API Cloud Trace.

  2. Usa el SDK de OpenTelemetry y el exportador OTLP para tu idioma.

Si solo quieres configurar la recogida de métricas en formato Prometheus, usa el receptor de Prometheus del agente de operaciones para recoger las métricas instrumentadas con las bibliotecas de cliente de Prometheus o el SDK de OpenTelemetry.

Registros

Sigue estos pasos:

  1. Configura tu aplicación para que genere registros estructurados en formato JSON en un archivo. Para ver una lista de los frameworks, consulta Frameworks de registro recomendados.
  2. Instala el agente de operaciones y configura un receptor. Por ejemplo, consulta Receptores de registro.

Cloud Run

Para obtener información general sobre Cloud Run, consulta ¿Qué es Cloud Run?

Tipo Recomendación
Métricas y trazas

Sigue estos pasos:

  1. Usa el SDK de OpenTelemetry y el exportador OTLP para tu idioma.
  2. Despliega un sidecar de OpenTelemetry para recoger métricas y trazas.

    Para ver ejemplos, consulta los siguientes documentos:

  3. En tu servicio de Cloud Run, usa la facturación basada en instancias. Con la facturación basada en instancias, la CPU se asigna durante todo el ciclo de vida de la instancia, lo que es necesario porque la instrumentación de OpenTelemetry realiza el procesamiento en segundo plano. Para obtener más información, consulta Configuración de facturación de los servicios de Cloud Run.

Si solo quieres configurar la recogida de métricas en formato Prometheus, usa el servicio adicional de Prometheus para Cloud Run para recoger métricas instrumentadas con las bibliotecas de cliente de Prometheus o el SDK de OpenTelemetry.

Registros

Configura tu aplicación para que genere registros estructurados en formato JSON en stdout y stderr. Para ver una lista de los frameworks, consulta Frameworks de registro recomendados.

Cloud Run recoge automáticamente los registros escritos en stdout y stderr. Para obtener más información, consulta el artículo sobre cómo escribir registros de contenedores.

Cloud Run Functions

Para obtener información general sobre Cloud Run Functions, consulta la información general sobre Cloud Run Functions.

Tipo Recomendación
Métricas No se admite la escritura directa de métricas en funciones de Cloud Run. Puedes generar métricas basadas en registros.
Trazas Usa el SDK de OpenTelemetry y el exportador de Cloud Trace para tu idioma.
Registros

Configura tu aplicación para que genere registros estructurados en formato JSON en stdout y stderr. Para ver una lista de los frameworks, consulta Frameworks de registro recomendados.

Cloud Run Functions recoge automáticamente los registros escritos en stdout y stderr. Para obtener más información, consulta el artículo Información general sobre la monitorización y el registro de funciones de Cloud Run.

App Engine

Para obtener información general sobre App Engine, consulta Información general sobre App Engine.

Tipo Recomendación
Métricas Usa el SDK de OpenTelemetry y el exportador de Cloud Monitoring para tu lenguaje.
Trazas Usa el SDK de OpenTelemetry y el exportador de Cloud Trace para tu idioma.
Registros

Configura tu aplicación para que genere registros estructurados en formato JSON en stdout y stderr. Para ver una lista de los frameworks, consulta Frameworks de registro recomendados.

App Engine recoge automáticamente los registros escritos en stdout y stderr. Para obtener más información, consulta el artículo sobre cómo escribir y ver registros.

Frameworks de registro recomendados

Para recoger registros, te recomendamos que uses un framework que se pueda configurar para generar objetos JSON serializados en stdout, stderr o en un archivo. El agente de registro, ya sea integrado o instalado, rastrea el archivo y escribe registros estructurados para Cloud Logging. Para escribir datos de registro, te recomendamos lo siguiente:

Códigos de ejemplo

Cuando instrumentas una aplicación con bibliotecas de OpenTelemetry, decides cómo se envían los datos telemétricos a tu Google Cloud proyecto. Hay dos enfoques fundamentales:

  • Instrumenta el código de tu aplicación con el SDK de OpenTelemetry y usa el exportador OTLP en proceso que se incluye en el SDK para enviar datos a un recolector de OpenTelemetry. El recolector recibe datos del exportador en proceso y, a continuación, los envía a tu Google Cloud proyecto. Los cambios que hagas en el código de tu aplicación no dependen de ningún proveedor. El colector contiene la lógica para enviar la telemetría a tu proyecto Google Cloud .

  • Instrumentas el código de tu aplicación con el SDK de OpenTelemetry y usas un exportador en proceso que envía datos directamente a tu Google Cloud proyecto. Algunos cambios que hagas en tu aplicación son específicos del proveedor. Sin embargo, no es necesario que configure ni implemente un recolector.

Te recomendamos que uses un recolector de OpenTelemetry para exportar tus datos de telemetría cuando tu entorno admita el uso de un recolector. En algunos entornos, debe usar un exportador en proceso que envíe datos directamente a suGoogle Cloud proyecto.

Ejemplos de exportación basada en el recopilador

Para ver ejemplos de instrumentación específicos de cada lenguaje, consulta los siguientes documentos:

Si quieres saber cómo se definen y se implementan los colectores, consulta la descripción general de las muestras.

Ejemplos de exportación directa con exportadores en proceso

Referencias a OpenTelemetry

En esta sección se proporcionan enlaces al SDK de OpenTelemetry y a los exportadores de OTLP, Cloud Trace y Cloud Monitoring.

Referencias generales:

Go

Java

JavaScript

Python