En este documento, se describen los pasos para solucionar problemas y los problemas comunes relacionados con el uso de un recopilador de OpenTelemetry, como el recopilador de OpenTelemetry integrado en Google, para enviar datos a Google Cloud Observability.
Soluciona problemas de recopilación de datos
En esta sección, se describen las estrategias que puedes usar para solucionar problemas con la recopilación de datos.
Usa el exportador debug
El
debug exportador
es la mejor manera de ver los datos en el nivel del recopilador de OpenTelemetry. El exportador toma los datos que recibe y los escribe en stdout en un formato legible por humanos. Esto es más útil cuando necesitas verificar que las transformaciones de tu canalización produzcan el resultado deseado.
El exportador debug se incluye en el recopilador de OpenTelemetry integrado en Google. Puedes configurar el exportador debug con verbosity: detailed para ver toda la carga útil de telemetría.
exporters:
debug:
verbosity: detailed
Puedes incluir el exportador en tu canalización:
service:
pipelines:
metrics:
receivers: [
# ...
]
processors: [
# ...
]
exporters: [
debug, # can be added alongside any other configured exporters
# ...
]
Prueba el lenguaje de transformación de OpenTelemetry (OTTL) en línea con OTTL Playground
El OTTL Playground es una herramienta desarrollada por la comunidad que te permite desarrollar de forma interactiva una canalización del lenguaje de transformación de OpenTelemetry. Para comenzar, proporciona JSON de OTLP como entrada, escribe tu canalización con la misma configuración que usarías para tu recopilador de OpenTelemetry y, luego, inspecciona visualmente los resultados.
La mejor manera de obtener JSON de OTLP de una canalización es colocar un
file exportador
en el lugar anterior a donde estaría tu procesador de transformación. Comienza por configurar un exportador file:
exporters:
file:
path: example.json
Si tuvieras una canalización como esta:
service:
pipelines:
metrics:
receivers: [hostmetrics]
processors: [
memorylimiter,
groupbyattrs,
transform, # where your OTTL pipeline will go
cumulativetodelta,
metricstarttime,
]
exporters: [
otlp,
]
Podrías modificar temporalmente tu canalización para exportar los datos tal como se verán en el procesador transform en el que estás trabajando.
service:
pipelines:
metrics:
receivers: [hostmetrics]
processors: [
memorylimiter,
groupbyattrs,
# transform,
# cumulativetodelta,
# metricstarttime,
]
exporters: [
# otlp,
file,
]
El exportador file escribirá cada carga útil que reciba en una línea del archivo.
Puedes usar una sola línea de datos como entrada para OTTL Playground.
Problemas conocidos
En esta sección, se describen los problemas conocidos con el recopilador de OpenTelemetry o el recopilador de OpenTelemetry integrado en Google y cómo solucionarlos cuando sea posible.
Errores connect: network is unreachable excesivos cuando se usa el exportador otlp
NOTA: Este problema solo se aplica al exportador otlp de gRPC, no al exportador equivalente de HTTP
llamado otlphttp.
NOTA: Hasta el momento, este problema solo se observó directamente en entornos de Compute Engine, pero debido a la naturaleza del problema, no podemos confirmar que esté limitado a Compute Engine.
A partir de la versión
0.147.0 del recopilador de OpenTelemetry integrado en Google y la versión 0.145.0 del recopilador de OpenTelemetry, el exportador otlpcomenzará a usar de forma predeterminada la estrategia de balanceo de cargas del cliente
round_robin, mientras que antes era pick_first. Cuando el exportador usaba la estrategia pick_first, también tenía una conmutación por error de IPV4 en pleno funcionamiento en una situación en la que IPV6 no funcionaba. La estrategia round_robin no tiene esta propiedad y, repetidamente, intentará enviar a todas las direcciones que resuelva en el momento de inicio del exportador, incluso cuando no funcionen.
Como resultado, si usas el exportador otlp para enviar datos a la API de Telemetry, es posible que veas mensajes de error como el siguiente:
2026-02-13T20:50:00.665Z warn grpc@v1.78.0/clientconn.go:1526 [core] [Channel #1 SubChannel #18] grpc: addrConn.createTransport failed to connect to {Addr: "[2607:f8b0:4001:c62::5f]:443", ServerName: "telemetry.googleapis.com:443", }. Err: connection error: desc = "transport: Error while dialing: dial tcp [2607:f8b0:4001:c62::5f]:443: connect: network is unreachable" {"resource": {"service.instance.id": "feb467f0-ecc6-4a0c-b1e2-90c908131fdd", "service.name": "otelcol-google", "service.version": "v0.147.0"}, "grpc_log": true}
Aislamiento del error real del registro:
transport: Error while dialing: dial tcp [2607:f8b0:4001:c62::5f]:443: connect: network is unreachable
Para solucionar este error, puedes cambiar al exportador otlphttp (consulta nuestra guía del usuario de métricas de OTLP para ver un ejemplo) o puedes configurar manualmente el balanceador pick_first en el exportador otlp:
exporters:
otlp:
# ...
balancer_name: pick_first
# ...
Si el error persiste después de cualquiera de las soluciones alternativas, es probable que este mensaje de error sea un síntoma de problemas reales de conectividad de red, por lo que deberás asegurarte de que tu recopilador pueda acceder a la red.