Descripción general del Collector de OpenTelemetry creado por Google

En este conjunto de documentos se describe el Collector de OpenTelemetry creado por Google y se explica cómo desplegarlo para recoger trazas, métricas y registros del protocolo de OpenTelemetry (OTLP) de aplicaciones instrumentadas y exportar esos datos a Google Cloud Observability y otros back-ends.

Google-Built OpenTelemetry Collector es una compilación de código abierto lista para producción del OpenTelemetry Collector upstream, que se ha creado con componentes de OpenTelemetry Collector upstream. OpenTelemetry, que forma parte de la Cloud Native Computing Foundation, proporciona APIs, bibliotecas y SDKs de código abierto para recoger trazas, métricas y registros distribuidos para la monitorización de aplicaciones.

El Collector de OpenTelemetry creado por Google te permite enviar trazas, métricas y registros de OTLP correlacionados a Observabilidad de Google Cloud y a otros back-ends desde aplicaciones instrumentadas con SDKs de OpenTelemetry. El recolector también captura metadatos de los Google Cloud recursos, por lo que puedes correlacionar los datos de rendimiento de las aplicaciones con los datos telemétricos de la infraestructura. Si usas el Collector creado por Google con Google Cloud Observability, obtendrás información valiosa para mejorar el rendimiento de tus aplicaciones e infraestructura. Para obtener más información sobre Collector, consulta Descripción de Google-Built OpenTelemetry Collector.

Usar el OpenTelemetry Collector creado por Google

Puedes usar el Collector creado por Google para recoger 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 Collector creado por Google en los siguientes entornos:

Si no tienes una aplicación lista para usar el Collector, puedes implementar la demo de OpenTelemetry con el Collector creado por Google. Para obtener más información, consulta Probar la demo de OpenTelemetry.

Para obtener información sobre cómo usar la instrumentación de OpenTelemetry para generar trazas, métricas y registros de tus aplicaciones, consulta los siguientes documentos:

Descripción del Collector de OpenTelemetry creado por Google

Google-Built OpenTelemetry Collector se crea con componentes y herramientas de OpenTelemetry upstream, y se compila y se obtiene por completo desde la infraestructura de compilación, prueba y lanzamiento de Google (Artifact Registry). El Collector creado por Google es compatible con una compilación de OpenTelemetry Collector del repositorio upstream. También se aloja como una imagen de Docker para que se pueda desplegar de forma flexible en cualquier sistema basado en contenedores, como Kubernetes y GKE.

Collector, 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 y compiles manualmente tu propio Collector. Si usas el colector creado por Google, puedes hacer lo siguiente:

  • Recoge metadatos de 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.
  • Dirige los datos telemétricos a Google Cloud Observability o al backend que elijas mediante exportadores, incluidos los backends que admiten OpenTelemetry de forma nativa.
  • Simplifica la configuración inicial con configuraciones recomendadas y la monitorización automática de las prácticas recomendadas, incluidas las comprobaciones de estado y el procesamiento por lotes.
  • Usa la imagen Docker alojada para disfrutar de 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 Collector de OpenTelemetry y para escalar el Collector. En esta sección se ofrecen algunas recomendaciones adicionales.

Usar la extensión de comprobación del estado

La extensión de comprobación de estado habilita una URL HTTP que se puede sondear para comprobar el estado del Collector de OpenTelemetry. Usar esta extensión ofrece las siguientes ventajas:

  • Detección temprana de problemas: las comprobaciones de estado facilitan la monitorización proactiva del estado del Collector, lo que permite detectar posibles problemas antes de que afecten negativamente a los datos de telemetría. Esta medida preventiva ayuda a garantizar la fiabilidad de la canalización de observabilidad.
  • Solución de problemas mejorada: cuando se producen problemas, las comprobaciones de estado ofrecen información valiosa sobre el estado actual del recolector. Esta información simplifica el proceso de diagnóstico y resolución, lo que reduce el tiempo de inactividad y agiliza las tareas de solución de problemas.
  • Mayor fiabilidad: la monitorización continua del estado del recolector asegura un funcionamiento constante y evita fallos inesperados. Esta medida proactiva mejora la fiabilidad general del sistema de observabilidad y minimiza el riesgo de pérdida de datos o de lagunas en los datos de telemetría.

En Kubernetes y GKE, la extensión de comprobación de estado es compatible con las comprobaciones de vivacidad y preparación de Kubernetes. Para obtener información sobre cómo configurar estas sondas, consulta el artículo Prácticas recomendadas de Kubernetes: configurar comprobaciones del estado con sondas de preparación y de vivacidad.

En Cloud Run, una sola extensión de comprobación de estado puede servir como endpoint para las sondas de inicio y de vivacidad en la configuración de tu servicio de Cloud Run.

Usar el procesador por lotes

El procesador por lotes recoge trazas, métricas o registros y los agrupa en lotes para transmitirlos. Usar el procesador por lotes ofrece las siguientes ventajas:

  • Minimiza las conexiones salientes: al agrupar las transmisiones de datos en lotes, el Collector de OpenTelemetry reduce significativamente el número de conexiones salientes. Este enfoque consolidado reduce el uso de la cuota y puede reducir los costes generales de la red.
  • Compresión de datos mejorada: el procesamiento por lotes permite comprimir los datos de forma 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 ofrece flexibilidad para optimizar diferentes situaciones. El procesamiento por lotes basado en el tamaño asegura que los lotes alcancen un tamaño determinado antes de enviarse, mientras que el procesamiento por lotes basado en el tiempo envía los lotes después de que haya transcurrido un intervalo de tiempo específico. Esta flexibilidad te permite afinar la estrategia de procesamiento por lotes para que se ajuste a las características específicas de tus datos y a los requisitos concretos de tu aplicación.

Usar el proveedor googlesecretmanager

El proveedor 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 gestionar datos sensibles de forma segura. Usar el proveedor googlesecretmanager ofrece las siguientes ventajas:

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

Para obtener información sobre cómo usar este proveedor, consulta Gestionar secretos en la configuración de Collector.

Notas de la versión

La versión de Google OpenTelemetry Collector se sincroniza con la versión de OpenTelemetry Collector. La versión actual es v0.134.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.134.0. En cada nueva versión, se incluyen en esta página los cambios más relevantes para los Google Cloud usuarios.

Compatibilidad

Si tienes algún problema con el lado del cliente del Collector de OpenTelemetry creado por Google, como solicitudes de funciones, informes de errores o preguntas generales, abre un problema en el repositorio de GitHub correspondiente. Google monitoriza estos repositorios y los problemas se clasifican y se resuelven en la medida de lo posible.

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

    • Embalaje
    • Implementación en Google Cloud
    • Autenticación en Google Cloud
    • Solicitudes para añadir nuevos componentes de OpenTelemetry
  • Repositorio Contrib de OpenTelemetry Collector, para problemas relacionados con lo siguiente:

    • Componentes de OpenTelemetry específicos de Google, como los siguientes:
      • googlecloudexporter
      • googlemanagedprometheusexporter
      • googleclientauthextension
      • resourcedetectionprocessor
    • Componentes de OpenTelemetry no específicos de Google gestionados por la comunidad upstream

Si tienes problemas relacionados con el uso que hace Google-Built OpenTelemetry Collector de los servicios y las APIs de Observabilidad de Google Cloud, como errores del servidor o cuotas, ponte en contacto con el equipo de Asistencia de Google Cloud.

Precios

No se aplica ningún cargo por implementar y usar Google-Built OpenTelemetry Collector.

Cuando envía datos de telemetría a Google Cloud, se le factura por el volumen de ingestión. Para obtener información sobre los costes asociados a la ingesta de trazas, registros y métricas de Google Cloud Managed Service para Prometheus, consulta los precios de Google Cloud Observability.

Probar la demo de OpenTelemetry

En esta sección se describe cómo implementar y ejecutar la demo de OpenTelemetry para Google Cloud con el OpenTelemetry Collector creado por Google.

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

Antes de empezar

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

Actualiza la demo para usar el Collector creado por Google

De forma predeterminada, la demo de OpenTelemetry usa el OpenTelemetry Collector upstream. Para usar el Collector de OpenTelemetry creado por Google, sigue estos pasos:

  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 sustituir la línea de la imagen del recolector que se va a usar. La línea tiene el siguiente aspecto, aunque la versión puede ser diferente:

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

    Sustituye el valor del campo image: por us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.134.0 para que la línea tenga el siguiente aspecto y, a continuación, guarda el archivo:

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

Desplegar la demo

Despliega la demo aplicando el archivo opentelemetry-demo.yaml actualizado:

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

Conectarse a la demo

Una vez que haya aplicado la configuración actualizada, podrá reenviar los datos a un puerto local. Por ejemplo, para conectarte a la demo en localhost:8080, ejecuta el siguiente comando:

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

Después, puedes usar tu navegador para conectarte a la demo en localhost:8080.

Ver telemetría

La demo de OpenTelemetry envía métricas, trazas y registros a Google Cloud mediante el OpenTelemetry Collector creado por Google. Para obtener información sobre la telemetría específica que envía la demo, consulta la sección Ver telemetría de la documentación de la demo.

Ver tus métricas

El Collector de OpenTelemetry creado por Google recoge métricas de Prometheus que puede ver con el explorador de métricas. Las métricas recogidas dependen de la instrumentación de la aplicación, aunque el Collector creado por Google también escribe algunas métricas propias.

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

    Ve al explorador de métricas.

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Monitorización.

  2. En la barra de herramientas de la Google Cloud consola, selecciona tu Google Cloud proyecto. En las configuraciones de App Hub, selecciona el proyecto host de App Hub o el proyecto de gestión de la carpeta habilitada para aplicaciones.
  3. En el elemento Métrica, despliega el menú Seleccionar una métrica, introduce Prometheus Target en la barra de filtros y, a continuación, usa los submenús para seleccionar un tipo de recurso y una métrica específicos:
    1. En el menú Recursos activos, selecciona 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 recogidas por el Collector de OpenTelemetry creado por Google tienen el prefijo prometheus.googleapis.com.
    3. Haz clic en Aplicar.
  4. Para añadir filtros que eliminen series temporales de los resultados de la consulta, usa el elemento Filter.

  5. Configure cómo se ven los datos.

    Cuando las mediciones de una métrica son acumulativas, Explorador de métricas normaliza automáticamente los datos medidos por el periodo de alineación, lo que hace que el gráfico muestre una tasa. Para obtener más información, consulta Tipos, clases y conversiones.

    Cuando se miden valores 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, selecciona Ninguna en el primer menú de la entrada Agregación.

    Para obtener más información sobre cómo configurar un gráfico, consulta el artículo Seleccionar métricas al utilizar el explorador de métricas.

Ver tus trazas

Para ver los datos de la traza, haz lo siguiente:

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

    Ir a Explorador de trazas

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

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

    Se abrirá un panel con información sobre la solicitud registrada. Estos detalles incluyen el método, el código de estado, el número de bytes y el agente de usuario de la persona que llama.

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

    En la pestaña se muestran los registros individuales. Para ver los detalles de la entrada de registro, despliégala. También puede hacer clic en Ver registros y consultar el registro con el Explorador de registros.

Para obtener más información sobre cómo usar el explorador de Cloud Trace, consulta Buscar y explorar trazas.

Consultar los registros

En Explorador de registros, puedes inspeccionar tus registros y ver las trazas asociadas, si las hay.

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

    Ve al Explorador de registros.

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Registro.

  2. Busca una entrada de registro de tu aplicación instrumentada. Para ver los detalles, despliega la entrada de registro.

  3. Haz clic en Trazas en una entrada de registro con un mensaje de traza y, a continuación, selecciona Ver detalles de la traza.

    Se abre el panel Detalles de la traza, donde se muestra la traza seleccionada.

Para obtener más información sobre cómo usar el Explorador de registros, consulta el artículo Ver registros con el Explorador de registros.