Descripción general del recopilador de OpenTelemetry creado por Google

En este conjunto de documentos, se describe el recopilador de OpenTelemetry compilado por Google y se explica cómo implementarlo para recopilar registros, métricas y seguimientos del protocolo OpenTelemetry (OTLP) de aplicaciones instrumentadas y exportar esos datos a Google Cloud Observability y otros backends.

El recopilador de OpenTelemetry compilado por Google es una compilación de código abierto lista para producción del recopilador de OpenTelemetry upstream que se compila con componentes del recopilador de OpenTelemetry upstream. OpenTelemetry, que forma parte de la Cloud Native Computing Foundation, proporciona APIs, bibliotecas y SDKs de código abierto para recopilar registros, métricas y seguimientos distribuidos para la supervisión de aplicaciones.

El recopilador de OpenTelemetry integrado en Google te permite enviar registros, métricas y seguimientos de OTLP correlacionados a Google Cloud Observability y otros backends desde aplicaciones instrumentadas con SDK de OpenTelemetry. El recopilador también captura metadatos para los recursos de Google Cloud , por lo que puedes correlacionar los datos de rendimiento de la aplicación con los datos de telemetría de la infraestructura. Usar el recopilador creado por Google con Google Cloud Observability proporciona estadísticas para mejorar el rendimiento de tus aplicaciones y tu infraestructura. Para obtener más información sobre el recopilador, consulta Descripción del recopilador de OpenTelemetry creado por Google.

Usa el recopilador de OpenTelemetry integrado en Google

Puedes usar el recopilador integrado en Google para recopilar datos de telemetría de tus aplicaciones que se ejecutan en Kubernetes (incluido Google Kubernetes Engine), Container-Optimized OS o contenedores independientes. En los documentos de esta sección, se describe cómo configurar e implementar el recopilador creado por Google en los siguientes entornos:

Si no tienes una aplicación lista para usar el recopilador, puedes implementar la demostración de OpenTelemetry con el recopilador compilado por Google. Para obtener más información, consulta Prueba la demostración de OpenTelemetry.

Para obtener información sobre el uso de la instrumentación de OpenTelemetry para generar registros, métricas y seguimientos de tus aplicaciones, consulta los siguientes documentos:

Descripción del recopilador de OpenTelemetry compilado por Google

El recopilador de OpenTelemetry compilado por Google se crea con componentes y herramientas de OpenTelemetry upstream, y se compila y recupera por completo desde la infraestructura de compilación, prueba y lanzamiento de Google (Artifact Registry). El recopilador compilado por Google es compatible con una compilación del recopilador de OpenTelemetry del repositorio upstream. También se aloja como una imagen de Docker para una implementación flexible en cualquier sistema basado en contenedores, incluidos Kubernetes y GKE.

El recopilador creado por Google proporciona un paquete seleccionado por Google con los componentes que la mayoría de los usuarios necesitarán para disfrutar de una experiencia de observabilidad enriquecida en Google Cloud. No es necesario que selecciones componentes ni que compiles tu propio Collector de forma manual. Con el Collector creado por Google, puedes hacer lo siguiente:

  • Recopila metadatos para los recursos de Google Cloud para que puedas correlacionar los datos de rendimiento de las aplicaciones con los datos de telemetría de la infraestructura.
  • Enruta los datos de telemetría a Google Cloud Observability o al backend que elijas con exportadores, incluidos los backends que admiten OpenTelemetry de forma nativa.
  • Simplifica la incorporación con configuraciones recomendadas y la supervisión automática de prácticas recomendadas, incluidas las verificaciones de estado y el procesamiento por lotes.
  • Usa la imagen de Docker alojada para una implementación flexible en cualquier sistema basado en contenedores, incluidos Kubernetes y GKE.

Prácticas recomendadas

OpenTelemetry mantiene una lista de prácticas recomendadas para configurar el recopilador de OpenTelemetry y para escalar el recopilador. En esta sección, se brindan algunas recomendaciones adicionales.

Usa la extensión de verificación de estado

La extensión de verificación de estado habilita una URL HTTP que se puede sondear para verificar el estado del recopilador de OpenTelemetry. Usar esta extensión proporciona los siguientes beneficios:

  • Detección temprana de problemas: Las verificaciones de estado facilitan la supervisión proactiva del estado del recopilador, lo que permite detectar posibles problemas antes de que afecten negativamente los datos de telemetría. Esta medida preventiva ayuda a garantizar la confiabilidad de la canalización de observabilidad.
  • Solución de problemas mejorada: Cuando se producen problemas, las verificaciones de estado ofrecen estadísticas valiosas sobre el estado actual del recopilador. Esta información simplifica el proceso de diagnóstico y resolución, lo que reduce el tiempo de inactividad y optimiza los esfuerzos de solución de problemas.
  • Mayor confiabilidad: La supervisión continua del estado del recopilador garantiza un funcionamiento constante y evita fallas inesperadas. Esta medida proactiva mejora la confiabilidad general del sistema de observabilidad y minimiza el riesgo de pérdida de datos o brechas en los datos de telemetría.

En Kubernetes y GKE, la extensión de verificación de estado es compatible con los sondeos de funcionamiento y preparación de Kubernetes. Para obtener información sobre cómo configurar estos sondeos, consulta Prácticas recomendadas de Kubernetes: Configura verificaciones de estado con sondeos de preparación y funcionamiento.

En Cloud Run, una sola extensión de verificación de estado puede servir como extremo para los sondeos de inicio y de funcionamiento en la configuración de tu servicio de Cloud Run.

Cómo usar el procesador por lotes

El procesador por lotes recopila registros, métricas o seguimientos y los agrupa en lotes para su transmisión. El uso del procesador por lotes proporciona los siguientes beneficios:

  • Minimiza las conexiones salientes: Al agrupar las transmisiones de datos en lotes, el recopilador de OpenTelemetry reduce significativamente la cantidad de conexiones salientes. Este enfoque consolidado reduce el uso de la cuota y puede reducir los costos generales de la red.
  • Compresión de datos mejorada: El procesamiento por lotes permite una compresión de datos más eficiente, lo que reduce el tamaño general de los datos transmitidos.
  • Flexibilidad en la estrategia de procesamiento por lotes: La compatibilidad con el procesamiento por lotes basado en el tamaño y en el tiempo brinda flexibilidad para optimizar diferentes situaciones. El procesamiento por lotes basado en el tamaño garantiza que los lotes alcancen un cierto tamaño antes de enviarse, mientras que el procesamiento por lotes basado en el tiempo envía los lotes después de que transcurre un intervalo de tiempo específico. Esta flexibilidad te permite ajustar la estrategia de procesamiento por lotes para que se alinee con las características específicas de tus datos y los requisitos particulares de tu aplicación.

Usa el proveedor googlesecretmanager

El proveedor de googlesecretmanager te permite almacenar información sensible que necesitan los archivos de configuración en Secret Manager, un servicio diseñado específicamente para almacenar, acceder y administrar de forma segura datos sensibles. El uso del proveedor googlesecretmanager ofrece los siguientes beneficios:

  • Seguridad mejorada: Tus archivos de configuración no contienen información sensible, como contraseñas.
  • Menor riesgo de exposición: Secret Manager recupera secretos durante la inicialización del recopilador, lo que evita que los secretos de texto sin formato se registren accidentalmente en los registros.

Para obtener información sobre cómo usar este proveedor, consulta Administra secretos en la configuración del recopilador.

Notas de la versión

El recopilador de OpenTelemetry compilado por Google se versiona de forma sincronizada con el recopilador de OpenTelemetry upstream. La versión actual es v0.129.0. La imagen de Docker correspondiente, almacenada en Artifact Registry, es us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.129.0. En esta página, se incluyen los cambios más relevantes para los usuarios de Google Cloud en cada versión nueva.

Compatibilidad

Para todos los problemas del cliente del recopilador de OpenTelemetry compilado por Google, incluidas las solicitudes de funciones, los informes de errores y las preguntas generales, abre un problema en el repositorio de GitHub correspondiente. Google supervisa estos repositorios, y los problemas se priorizan y abordan según el criterio del mejor esfuerzo.

  • Repositorio de empaquetado del recopilador de OpenTelemetry compilado por Google, para problemas relacionados con lo siguiente:

    • Empaquetado
    • Deployment en Google Cloud
    • Autenticación en Google Cloud
    • Solicitudes para agregar componentes nuevos de OpenTelemetry
  • Repositorio de OpenTelemetry Collector Contrib, para problemas relacionados con lo siguiente:

    • Componentes de OpenTelemetry específicos de Google, por ejemplo:
      • googlecloudexporter
      • googlemanagedprometheusexporter
      • googleclientauthextension
      • resourcedetectionprocessor
    • Componentes de OpenTelemetry no específicos de Google administrados por la comunidad upstream

Si tienes problemas relacionados con el uso de los servicios y las APIs de Google Cloud Observability por parte del recopilador de OpenTelemetry creado por Google, como errores del servidor o cuotas, comunícate con el servicio de Atención al cliente de Cloud.

Precios

No se aplican cargos por implementar y usar el recopilador de OpenTelemetry integrado en Google.

Cuando envías datos de telemetría a Google Cloud, se te factura según el volumen de la transferencia. Para obtener información sobre los costos asociados con la transferencia de registros, seguimientos y métricas de Google Cloud Managed Service para Prometheus, consulta Precios de Google Cloud Observability.

Prueba la demostración de OpenTelemetry

En esta sección, se describe cómo implementar y ejecutar la demostración de OpenTelemetry paraGoogle Cloud con el recopilador de OpenTelemetry integrado en Google.

Esta sección es opcional. Si deseas integrar el recopilador creado por Google en tus propias implementaciones, consulta los siguientes documentos:

Antes de comenzar

La demostración de OpenTelemetry requiere un clúster de Kubernetes que tenga configurada la federación de identidades para cargas de trabajo. Para obtener información sobre cómo configurar la federación de identidades para cargas de trabajo para la demostración de OpenTelemetry, consulta Requisitos previos de la identidad de carga de trabajo.

Actualiza la demostración para usar el recopilador integrado en Google

De forma predeterminada, la demostración de OpenTelemetry usa el recopilador de OpenTelemetry upstream. Para usar el recopilador de OpenTelemetry compilado por Google, haz lo siguiente:

  1. Clona el repositorio de demostración de OpenTelemetry:

    git clone https://github.com/GoogleCloudPlatform/opentelemetry-demo.git
    
  2. Ve al directorio kubernetes.

    cd kubernetes
    
  3. Edita el archivo opentelemetry-demo.yaml para reemplazar la línea de la imagen del recopilador que se usará. La línea se ve de la siguiente manera, aunque la versión puede ser diferente:

    image: "otel/opentelemetry-collector-contrib:0.108.0"
    

    Reemplaza el valor del campo image: por us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.129.0 para que la línea se vea de la siguiente manera y, luego, guarda el archivo:

    image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.129.0"
    

Implementa la demostración

Implementa la demostración aplicando el archivo opentelemetry-demo.yaml actualizado:

kubectl apply --namespace otel-demo -f opentelemetry-demo.yaml

Conéctate a la demostración

Después de aplicar la configuración actualizada, puedes reenviar los datos a un puerto local. Por ejemplo, para conectarte a la demostración en localhost:8080, ejecuta el siguiente comando:

kubectl port-forward --n otel-demo svc/opentelemetry-demo-frontendproxy 8080:8080

Luego, puedes usar tu navegador para conectarte a la demostración en localhost:8080.

Telemetría de vistas

La demostración de OpenTelemetry envía métricas, registros y seguimientos a Google Cloud con el recopilador de OpenTelemetry integrado en Google. Para obtener información sobre la telemetría específica que envía la demostración, consulta Cómo ver la telemetría en la documentación de la demostración.

Consulta tus métricas

El recopilador de OpenTelemetry integrado en Google recopila métricas de Prometheus que puedes ver con el Explorador de métricas. Las métricas recopiladas dependen de la instrumentación de la app, aunque el recopilador creado por Google también escribe algunas métricas propias.

Para ver las métricas recopiladas por el recopilador de OpenTelemetry integrado en Google, haz lo siguiente:
  1. En la consola de Google Cloud , ve a la página  Explorador de métricas:

    Ir al Explorador de métricas

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  2. En la barra de herramientas de la consola de Google Cloud , selecciona tu proyecto de Google Cloud . Para las configuraciones de App Hub, selecciona el proyecto host de App Hub o el proyecto de administración de la carpeta habilitada para apps.
  3. En el elemento Métrica, expande el menú Seleccionar una métrica, ingresa Prometheus Target en la barra de filtros y, luego, usa los submenús para seleccionar un métrica y tipo de recurso específicos:
    1. En el menú Recursos activos, elige Destino de Prometheus.
    2. Para seleccionar una métrica, usa los menús Categorías de métricas activas y Métricas activas. Las métricas recopiladas por el recopilador de OpenTelemetry integrado en Google tienen el prefijo prometheus.googleapis.com.
    3. Haz clic en Aplicar.
  4. Configura cómo se ven los datos.

    Cuando las mediciones de una métrica son acumulativas, el Explorador de métricas normaliza automáticamente los datos medidos por el período de alineación, lo que hace que el gráfico muestre una frecuencia. Para obtener más información, consulta Categorías, tipos y conversiones.

    Cuando se miden valores de números enteros o dobles, como con las métricas counter, el Explorador de métricas suma automáticamente todas las series temporales. Para cambiar este comportamiento, establece el primer menú de la entrada Agregación como Ninguna.

    Para obtener más información sobre la configuración de un gráfico, consulta elige métricas cuando uses el Explorador de métricas.

Ve tus seguimientos

Para ver tus datos de seguimiento, haz lo siguiente:

  1. En la consola de Google Cloud , ve a la página Explorador de seguimiento:

    Ve al Explorador de seguimiento

    También puedes usar la barra de búsqueda para encontrar esta página.

  2. En la barra de herramientas de la consola de Google Cloud , selecciona tu proyecto Google Cloud . Para las configuraciones de App Hub, selecciona el proyecto host de App Hub o el proyecto de administración de la carpeta habilitada para apps.
  3. En la sección de la tabla de la página, selecciona una fila.
  4. En el diagrama de Gantt del panel Detalles de seguimiento, selecciona un intervalo.

    Se abrirá un panel que muestra información sobre la solicitud registrada. Estos detalles incluyen el método, el código de estado, la cantidad de bytes y el usuario-agente del emisor.

  5. Para ver los registros asociados con este seguimiento, selecciona la pestaña Registros y eventos.

    La pestaña muestra registros individuales. Para ver los detalles de la entrada de registro, expande la entrada de registro. También puedes hacer clic en Ver registros y ver el registro con el Explorador de registros.

Si deseas obtener más información para usar el explorador de Cloud Trace, consulta Busca y explora seguimientos.

Mira los registros

En el Explorador de registros, puedes inspeccionar tus registros y, también, puedes ver los seguimientos asociados, cuando existen.

  1. En la consola de Google Cloud , ve a la página Explorador de registros.

    Ir al Explorador de registros

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

  2. Busca una entrada de registro de tu app instrumentada. Para ver los detalles, expande la entrada de registro.

  3. Haz clic en Seguimientos en una entrada de registro con un mensaje de seguimiento y, luego, selecciona Ver detalles de seguimiento.

    Se abrirá el panel Detalles de seguimiento y se mostrará el seguimiento seleccionado.

Para obtener más información sobre el uso del Explorador de registros, consulta Visualiza registros con el Explorador de registros.