Descripción general del recopilador de OpenTelemetry creado por Google

El recopilador de OpenTelemetry integrado en Google es la compilación de código abierto de Google del recopilador de OpenTelemetry, que se crea a partir de componentes ascendentes con una cadena de suministro segura en la infraestructura de Google. OpenTelemetry, que forma parte de la Cloud Native Computing Foundation, proporciona APIs, bibliotecas y SDKs de código abierto para recopilar seguimientos, métricas y registros distribuidos del protocolo OpenTelemetry (OTLP) para la supervisión de aplicaciones.

El recopilador de OpenTelemetry integrado en Google te permite enviar seguimientos, métricas y registros de OTLP correlacionados a Google Cloud Observability y a otros backends desde aplicaciones instrumentadas con los SDK de OpenTelemetry. El recopilador también captura metadatos para los recursos de Google Cloud , de modo que puedas correlacionar los datos de rendimiento de la aplicación con los datos de telemetría de la infraestructura. Usar el recolector 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.

A partir de la versión 0.134.0, el recopilador de OpenTelemetry creado por Google se compila según el estándar de nivel 3 de los niveles de cadena de suministro para artefactos de software (SLSA). El código del recopilador y sus dependencias se analizan de forma continua en busca de vulnerabilidades. Para obtener más información, consulta Funciones de seguridad.

Usa el recopilador de OpenTelemetry integrado en Google

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

Estas instrucciones también se pueden usar para configurar el recopilador de OpenTelemetry ascendente de código abierto para exportar datos a Google Cloud Observability.

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

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

Descripción del recopilador de OpenTelemetry integrado en Google

El recopilador de OpenTelemetry integrado en Google se crea con componentes y herramientas de OpenTelemetry upstream, mientras que se compila y se recupera por completo de la infraestructura de compilación, prueba y lanzamiento de Google (Artifact Registry). El recopilador creado 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 obtener una experiencia de observabilidad enriquecida en Google Cloud. No necesitas seleccionar componentes ni compilar manualmente tu propio recopilador. Con el recopilador integrado en Google, puedes hacer lo siguiente:

  • Recopila metadatos para los recursos de Google Cloud , de modo que puedas correlacionar los datos de rendimiento de la aplicación 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 parámetros de configuración recomendados y prácticas recomendadas de autosupervisión, 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 proporcionan algunas recomendaciones adicionales.

Usa el exportador de gRPC de OTLP

Usa el exportador de gRPC de OTLP para conectarte a la API de Telemetry (OTLP), telemetry.googleapis.com. La API de Telemetry acepta todos los datos de telemetría (registros, métricas y seguimientos) en el formato OTLP independiente del proveedor. Enviar telemetría a la API de Telemetry significa que los datos que fluyen desde el recopilador de OpenTelemetry se conservan con la máxima fidelidad en el almacenamiento de Google Cloud .

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 ofrece 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 de forma negativa 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 información valiosa 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.
  • Confiabilidad mejorada: La supervisión continua del estado del recopilador garantiza un funcionamiento coherente 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 el extremo para los sondeos de inicio y funcionamiento en la configuración del servicio de Cloud Run.

Usa el procesador por lotes

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

  • Minimiza las conexiones salientes: Cuando se agrupan las transmisiones de datos en lotes, el recopilador de OpenTelemetry reduce de forma significativa la cantidad de conexiones salientes. Este enfoque consolidado reduce el uso de la cuota y tiene el potencial de 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 lotes: La compatibilidad con los lotes basados en el tamaño y el tiempo proporciona flexibilidad para optimizar diferentes situaciones. El procesamiento por lotes basado en el tamaño garantiza 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 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 la información sensible que necesitan los archivos de configuración en Secret Manager, un servicio diseñado específicamente para almacenar y administrar datos sensibles de forma segura, además de acceder a ellos. Usar el proveedor googlesecretmanager ofrece los siguientes beneficios:

  • Mayor seguridad: Los 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 simple se asienten por accidente 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 integrado en Google tiene versiones sincronizadas con el recopilador de OpenTelemetry upstream. La versión actual es v0.163.1; 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.163.1. Para cada versión nueva, en esta página se incluyen los cambios más relevantes para los usuarios de Google Cloud .

Funciones de seguridad

A partir de la versión 0.134.0, el colector de OpenTelemetry creado por Google ofrece imágenes de Docker que se compilan según el estándar de nivel 3 de los niveles de cadena de suministro para artefactos de software (SLSA) y ofrecen las siguientes funciones de seguridad:

  • Compilación segura: La canalización de CI/CD para el recopilador de OpenTelemetry compilado por Google genera certificaciones para cada versión de imagen de contenedor. Estas certificaciones incluyen una atestación de resumen de verificación (VSA), que se adjunta como un recurso a cada versión en GitHub.

  • Análisis y aplicación de parches de vulnerabilidades: El recopilador de OpenTelemetry creado por Google se analiza de forma continua en busca de vulnerabilidades, y nos esforzamos por seguir los SLO de FedRamp para la solución de vulnerabilidades. Priorizamos la seguridad de los usuarios recompilando el recopilador con regularidad con dependencias de paquetes actualizadas. Nuestra canalización de CI/CD está diseñada para integrar con rapidez correcciones de seguridad críticas y actualizaciones de dependencias. Este compromiso minimiza la exposición a vulnerabilidades conocidas, lo que te proporciona un producto continuamente seguro y actualizado.

  • Versiones verificadas y seguras: Aplicamos políticas de integridad de código internas de Google para garantizar que solo se lancen a producción los artefactos que cumplan con nuestros estrictos criterios de seguridad. Este proceso garantiza que siempre recibas software que haya pasado con éxito las exhaustivas verificaciones de seguridad internas.

Compatibilidad

Para todos los problemas del cliente del colector de OpenTelemetry creado 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 clasifican y abordan según el criterio del mejor esfuerzo.

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

    • Empaquetado
    • Deployment el Google Cloud
    • Autenticación en Google Cloud
    • Solicitudes para agregar nuevos componentes de OpenTelemetry
  • Repositorio de contribuciones del recopilador de OpenTelemetry, 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 que hace el recopilador de OpenTelemetry creado por Google de los servicios y las APIs de Google Cloud Observability, como errores de servidor o cuotas, comunícate con 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 por volumen de transferencia. Para obtener información sobre los costos asociados con la transferencia de los seguimientos, los registros y las 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 para Google Cloud con el recopilador de OpenTelemetry integrado en Google.

Esta sección es opcional. Si estás listo para 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 en tu clúster, consulta Usa la federación de identidades para cargas de trabajo para GKE.

Actualiza la demostración para usar el recopilador creado por Google

De forma predeterminada, la demostración de OpenTelemetry usa el recopilador de OpenTelemetry ascendente. Para usar el recopilador de OpenTelemetry integrado en 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.163.1, de modo que la línea se vea como la siguiente, y, luego, guarda el archivo:

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

Implementa la demostración

Aplica el archivo opentelemetry-demo.yaml actualizado para implementar la demostración:

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.

Visualiza la telemetría

La demostración de OpenTelemetry envía métricas, seguimientos y registros 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 Visualiza 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 que recopila el recopilador de OpenTelemetry integrado en Google, haz lo siguiente:
  1. En la consola de Google Cloud , accede a la página  Explorador de métricas:

    Acceder 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 que recopila el recopilador de OpenTelemetry compilado por Google tienen el prefijo prometheus.googleapis.com.
    3. Haz clic en Aplicar.
  4. Para agregar filtros, que quitan las series temporales de los resultados de la consulta, usa el elemento Filtro.

  5. 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 en 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 de Google Cloud . Para las configuraciones de App Hub, selecciona el proyecto host o el proyecto de administración de App Hub.
  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 con seguimiento. 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 del :

    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.