En este conjunto de documentos, se describe el recopilador de OpenTelemetry creado por Google y se explica cómo implementarlo para recopilar seguimientos, métricas y registros del protocolo OpenTelemetry (OTLP) de aplicaciones instrumentadas y exportar esos datos a Observabilidad de Google Cloud y otros backends.
El recopilador de OpenTelemetry creado 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 seguimientos, métricas y registros distribuidos para el monitoreo de aplicaciones.
El recopilador de OpenTelemetry creado por 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 colector también captura metadatos de los recursos Google Cloud , de modo que puedas correlacionar los datos de rendimiento de la aplicación con los datos de telemetría de la infraestructura. El uso del recopilador compilado 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 creado por 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), el SO optimizado para contenedores 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 creado por Google. Para obtener más información, consulta Cómo probar la demostración de OpenTelemetry.
Para obtener información sobre el uso de la instrumentación de OpenTelemetry para generar seguimientos, métricas y registros desde tus aplicaciones, consulta los siguientes documentos:
- Descripción general de la instrumentación
- Elige un enfoque de instrumentación para tu aplicación
- Genera seguimientos y métricas con la instrumentación de OpenTelemetry
Descripción del recopilador de OpenTelemetry creado por Google
El recopilador de OpenTelemetry creado por Google se compila con componentes y herramientas de OpenTelemetry upstream, mientras se compila y recupera por completo desde la infraestructura de compilación, prueba y lanzamiento de Google (registro de artefactos). El recopilador creado por Google es compatible con una compilación del recopilador de OpenTelemetry desde el 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 colector creado por Google, puedes hacer lo siguiente:
- Recopila metadatos para los Google Cloud recursos para poder correlacionar los datos de rendimiento de la aplicación con los datos de telemetría de la infraestructura.
- Envía 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 integración con la configuración recomendada y la supervisión personal de las prácticas recomendadas, incluidas las verificaciones de estado y el procesamiento por lotes.
- Usa la imagen de Docker alojada para obtener 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 aplicar escalamiento al recopilador. En esta sección, se hacen 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. El uso de 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 estos 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.
- 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 en funcionamiento en la configuración de tu 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 la 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 significativamente 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 en el tiempo proporciona flexibilidad para realizar optimizaciones en 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 lotes después de que transcurre un intervalo de tiempo específico. Esta flexibilidad te permite ajustar la estrategia de lotes para que se alinee con las características específicas de tus datos y los requisitos particulares de tu aplicación.
Notas de la versión
El recopilador de OpenTelemetry creado por Google tiene control de versiones sincronizado con el recopilador de OpenTelemetry upstream. La versión actual es v0.122.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.122.1. En cada versión nueva, se incluyen en esta página los cambios más relevantes para los usuarios de Google Cloud .
0.122.1:
- OpenTelemetry Collector compilado por Google: Actualiza a la versión v0.122.1 de OpenTelemetry Collector Core y a la versión v0.122.0 de OpenTelemetry Collector Contrib.
- Se agregó un componente nuevo:
googleclientauthextension
- Avisos sobre problemas conocidos:
- Si usas la exportación de OTLP de la autotelemetría del recopilador, ten en cuenta el siguiente problema: https://github.com/open-telemetry/opentelemetry-collector/issues/12701
- Repositorio principal de OpenTelemetry Collector: Notas de la versión
- Repositorio de OpenTelemetry Collector Contrib: Notas de la versión
0.121.0:
- OpenTelemetry Collector creado por Google: Versión inicial
- Repositorio principal de OpenTelemetry Collector: Notas de la versión
- Repositorio de OpenTelemetry Collector Contrib: Notas de la versión
Compatibilidad
Para todos los problemas del cliente del recopilador 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 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
- Implementación en Google Cloud
- Autenticación en Google Cloud
- Solicitudes para agregar nuevos componentes 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 que no son específicos de Google y que administra la comunidad upstream
- Componentes de OpenTelemetry específicos de Google, por ejemplo:
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 del servidor o cuotas, comunícate con el equipo de Atención al cliente de Cloud.
Precios
No se aplican cargos por implementar y usar el recopilador de OpenTelemetry creado por Google.
Cuando envías datos de telemetría a Google Cloud, se te factura por volumen de ingestión. Para obtener información sobre los costos asociados con la transferencia de trazas, registros 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 demo de OpenTelemetry paraGoogle Cloud con el recopilador de OpenTelemetry creado por Google.
Esta sección es opcional. Si tienes todo listo para integrar el recopilador compilado por Google en tus propias implementaciones, consulta los siguientes documentos:
- Implementa el recopilador en Google Kubernetes Engine
- Implementa el recopilador en Container-Optimized OS
- Implementa el recopilador en Cloud Run
Antes de comenzar
La demostración de OpenTelemetry requiere un clúster de Kubernetes que tenga configurada la federación de identidades de carga de trabajo. Si deseas obtener información para configurar la federación de Workload Identity para la demostración de OpenTelemetry, consulta Requisitos previos de Workload Identity.
Actualiza la demostración para usar el colector creado por 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:
Clona el repositorio de demostración de OpenTelemetry:
git clone https://github.com/GoogleCloudPlatform/opentelemetry-demo.git
Ve al directorio
kubernetes
.cd kubernetes
Edita el archivo
opentelemetry-demo.yaml
para reemplazar la línea que usará la imagen de Collector. La línea se ve como la siguiente, aunque la versión puede ser diferente:image: "otel/opentelemetry-collector-contrib:0.108.0"
Reemplaza el valor del campo
image:
porus-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.122.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.122.1"
Implementa la demostración
Para implementar la demostración, aplica el archivo opentelemetry-demo.yaml
actualizado:
kubectl apply --namespace otel-demo -f opentelemetry-demo.yaml
Cómo conectarse 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
.
Cómo ver la telemetría
La demostración de OpenTelemetry envía métricas, seguimientos y registros a Google Cloud con el recopilador de OpenTelemetry creado por Google. Para obtener información sobre la telemetría específica que envía la demo, consulta Cómo ver la telemetría en la documentación de la demo.
Consulta tus métricas
El recopilador de OpenTelemetry creado por 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 creado por Google, haz lo siguiente:-
En la consola de Google Cloud, ve a la página leaderboardExplorador de métricas:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- 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 de host de App Hub o el proyecto de administración de la carpeta habilitada para apps.
- 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:- En el menú Recursos activos, elige Destino de Prometheus.
- 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 compilado por Google tienen el prefijo
prometheus.googleapis.com
. - Haz clic en Aplicar.
- 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:
-
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.
- 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.
- En la sección de la tabla de la página, selecciona una fila.
En el diagrama de Gantt del panel Detalles de seguimiento, selecciona un intervalo.
Se abrirá un panel que muestra información sobre la solicitud rastreada. Estos detalles incluyen el método, el código de estado, la cantidad de bytes y el usuario-agente del emisor.
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.
-
En la consola de Google Cloud, ve a la página Explorador de registros:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.
Busca una entrada de registro de tu app instrumentada. Para ver los detalles, expande la entrada de registro.
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.