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 general de la instrumentación
- Elige un método de instrumentación para tu aplicación
- Generar trazas y métricas con la instrumentación de OpenTelemetry
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.
0.134.0:
- OpenTelemetry Collector creado por Google: se ha actualizado a la versión v0.134.0 de OpenTelemetry Collector Core y OpenTelemetry Collector Contrib.
- El receptor opencensus se ha quitado tanto del upstream como del Collector de OpenTelemetry creado por Google.
- Repositorio principal de OpenTelemetry Collector: Notas de la versión (v0.134.0)
- Repositorio OpenTelemetry Collector Contrib: Notas de la versión (v0.134.0)
0.131.0:
- OpenTelemetry Collector creado por Google: se ha actualizado a la versión v0.131.0 de OpenTelemetry Collector Core y OpenTelemetry Collector Contrib.
- Repositorio principal de OpenTelemetry Collector: Notas de la versión (v0.131.0)
- Repositorio de contribuciones de OpenTelemetry Collector: Notas de la versión (v0.131.0)
0.130.0:
- OpenTelemetry Collector creado por Google: se ha actualizado a la versión v0.130.0 de OpenTelemetry Collector Core y OpenTelemetry Collector Contrib.
- El problema conocido del receptor de Prometheus en la versión anterior se ha solucionado.
- Se ha añadido el componente healthcheckv2extension.
- Repositorio principal de OpenTelemetry Collector: Notas de la versión (v0.130.0)
- Repositorio OpenTelemetry Collector Contrib: Notas de la versión (v0.130.0)
0.129.0:
- Collector de OpenTelemetry creado por Google: se ha actualizado a la versión v0.129.0 de Collector Core y Collector Contrib de OpenTelemetry.
- Avisos de problemas conocidos:
- Receptor de Prometheus: la autenticación básica de las URLs ha dejado de funcionar (enlace al problema).
- Este problema afecta a las versiones 0.127.0, 0.128.0 y 0.129.0.
- Para evitarlo, usa la versión 0.126.0 o una anterior.
- Receptor de Prometheus: la autenticación básica de las URLs ha dejado de funcionar (enlace al problema).
- Repositorio principal de OpenTelemetry Collector: Notas de la versión (v0.129.0)
- Repositorio OpenTelemetry Collector Contrib: Notas de la versión (v0.129.0)
0.128.0:
- OpenTelemetry Collector creado por Google: se ha actualizado a la versión 0.128.0 de OpenTelemetry Collector Core y OpenTelemetry Collector Contrib.
- Repositorio principal de OpenTelemetry Collector: Notas de la versión (v0.127.0)
- Repositorio OpenTelemetry Collector Contrib: Notas de la versión (v0.127.0)
0.127.0:
- Collector de OpenTelemetry creado por Google: se ha actualizado a la versión v0.127.0 de OpenTelemetry Collector Core y OpenTelemetry Collector Contrib.
- Repositorio principal de OpenTelemetry Collector: Notas de la versión (v0.127.0)
- Repositorio OpenTelemetry Collector Contrib: Notas de la versión (v0.127.0)
0.126.0:
- OpenTelemetry Collector creado por Google: se ha actualizado a la versión v0.126.0 de OpenTelemetry Collector Core y OpenTelemetry Collector Contrib.
- Se han añadido los siguientes componentes:
- Procesadores:
metricstarttime
- Proveedores:
googlesecretmanager
. Para obtener información sobre cómo usar este proveedor para eliminar secretos en texto sin cifrar en la configuración de Collector, consulta Gestionar secretos en la configuración de Collector.
- Procesadores:
- Repositorio principal de OpenTelemetry Collector:
- Repositorio Contrib de OpenTelemetry Collector:
0.124.1:
- Collector de OpenTelemetry creado por Google: se ha actualizado a la versión 0.124.0 de Collector Core de OpenTelemetry y a la versión 0.124.1 de Collector Contrib de OpenTelemetry.
- Se han añadido los siguientes componentes:
- Receptores:
dockerstats
,jmx
,redis
,statsd
ysyslog
- Procesadores:
metricsgeneration
- Receptores:
- Repositorio principal de OpenTelemetry Collector:
- Repositorio Contrib de OpenTelemetry Collector:
0.122.1:
- Collector de OpenTelemetry creado por Google: se ha actualizado a la versión 0.122.1 de Collector Core de OpenTelemetry y a la versión 0.122.0 de Collector Contrib de OpenTelemetry.
- Se ha añadido un nuevo componente:
googleclientauthextension
- Avisos de problemas conocidos:
- Si usas la exportación OTLP de la autotelemetría del recolector, ten en cuenta el siguiente problema de OpenTelemetry Collector: https://github.com/open-telemetry/opentelemetry-collector/issues/12701.
- Repositorio principal de OpenTelemetry Collector: Notas de la versión
- Repositorio Contrib de OpenTelemetry Collector: Notas de la versión
0.121.0:
- Collector de OpenTelemetry creado por Google: lanzamiento inicial
- Repositorio principal de OpenTelemetry Collector: Notas de la versión
- Repositorio Contrib de OpenTelemetry Collector: Notas de la versión
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
- Componentes de OpenTelemetry específicos de Google, como los siguientes:
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:
- Desplegar el Collector en Google Kubernetes Engine
- Desplegar el Collector en Container-Optimized OS
- Desplegar el Collector en Cloud Run
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:
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 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:
porus-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:-
En la Google Cloud consola, ve a la página leaderboard 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.
- 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.
- 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:- En el menú Recursos activos, selecciona 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 recogidas por el Collector de OpenTelemetry creado por Google tienen el prefijo
prometheus.googleapis.com
. - Haz clic en Aplicar.
Para añadir filtros que eliminen series temporales de los resultados de la consulta, usa el elemento Filter.
- 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:
-
En la Google Cloud consola, ve a la página Explorador de trazas:
También puedes encontrar esta página mediante la barra de búsqueda.
- 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.
- En la sección de la tabla de la página, seleccione una fila.
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.
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.
-
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.
Busca una entrada de registro de tu aplicación instrumentada. Para ver los detalles, despliega la entrada de registro.
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.