Este tema le ayuda a diagnosticar y resolver problemas cuando los datos reportados mediante un cliente de código abierto no aparecen en la consola de Managed Service for OpenTelemetry. También aplica cuando se muestran registros de error en la consola o en los archivos de registro.
La ausencia de datos se clasifica en dos categorías:
Los datos no llegan al servidor: esto ocurre por problemas de red, configuraciones de ingesta deshabilitadas, cuotas excedidas o errores a nivel de protocolo (HTTP o gRPC).
Los datos llegan, pero no se muestran como se espera: esto se debe a trazas rotas, spans faltantes o una configuración incorrecta del agente.
Compruebe la conectividad de red
Compruebe que el cliente pueda alcanzar el endpoint de Managed Service for OpenTelemetry.
-
Identifique si el endpoint de su código es un endpoint privado o un endpoint público.
Un endpoint privado debe pertenecer a la misma virtual private cloud (VPC) que el servidor. El reporte entre regiones no es compatible.
-
Desde el entorno de reporte, ejecute el comando
curlotelnetpara probar el endpoint y el puerto. Si el endpoint no está disponible, revise la configuración del security group de la instancia de Elastic Compute Service (ECS). A continuación se muestra un ejemplo para el endpoint de gRPC en la región China (Hangzhou):telnet <endpoint> <port>telnet tracing-analysis-dc-hz.aliyuncs.com 8090 -
Revise el resultado: la salida a continuación muestra una conexión exitosa. La salida a continuación muestra una conexión con errores.
Resultado
Significado
Siguiente paso
Conexión establecida (la terminal muestra
Connected to ...)El cliente puede comunicarse con el servidor.
Continúe con Revise la configuración de ingesta de datos.
Se queda detenido en
Trying <IP>...o devuelveUnable to connect to remote hostEl cliente no puede comunicarse con el servidor.
Revise las reglas del security group de la instancia de Elastic Compute Service (ECS) y la configuración de red de la VPC. Para más detalles, consulte Connect to Managed Service for OpenTelemetry and authenticate clients y Security groups.
~ → telnet tracing-analysis-dc-hz.aliyuncs.com 8090 Trying xxx.67.89... Connected to tracing-analysis-dc-hz.aliyuncs.com. Escape character is '^]'.telnet tracing-analysis-dc-hz-internal.aliyuncs.com 8090 Trying xxx.80.178... telnet: connect to address xxx.80.178: Operation timed out Trying xxx.7.123... telnet: connect to address xxx.7.123: Operation timed out telnet: Unable to connect to remote host
Revise la configuración de ingesta de datos
La ingesta de datos se controla de forma global (para todas las aplicaciones) o por aplicación. Un límite de cuota también puede bloquear la ingesta.
Configuración global
En el panel de navegación izquierdo de la consola de Managed Service for OpenTelemetry, haga clic en Cluster Configurations.
En la sección Data Capturing Settings, compruebe que esté seleccionada la opción Enable All o Enable by Default.
Configuración por aplicación
En la página Applications, haga clic en el nombre de la aplicación objetivo.
En el panel de navegación izquierdo, haga clic en Application Settings.
En la pestaña Custom Configuration, dentro de la sección Data Capturing Settings, compruebe que Capture Data esté establecido en Enable o Don't Set.
Si la configuración global es Enable All o Disable All, la configuración por aplicación no surte efecto. La configuración global siempre tiene prioridad. Cuando se selecciona Don't Set para una aplicación, esta hereda la configuración a nivel de clúster.
Cuota
En la página Cluster Configurations, revise la sección Quota configuration.
Si el volumen de datos reportados alcanzó la cuota configurada, aumente dicha cuota. No se aceptan datos adicionales una vez que se alcanza el límite.
Compruebe el origen de datos de Simple Log Service
Managed Service for OpenTelemetry almacena los datos en proyectos de Simple Log Service (SLS) dentro de su cuenta. Si la cantidad de proyectos de SLS alcanza el límite de la cuenta, el reporte de datos falla.
Para resolver este problema:
Libere los proyectos de SLS que no utilice para liberar capacidad.
Envíe un ticket para solicitar un límite mayor de proyectos.
Revise el estado de la tarea de monitoreo
Si la consola indica que la tarea de monitoreo presenta anomalías o no está habilitada, envíe un ticket al soporte técnico de Alibaba Cloud.
Solucione errores de reporte HTTP
Revise el código de estado HTTP en la consola o en los archivos de registro. Compárelo con la causa y la solución descritas a continuación.
|
Código de estado HTTP |
Causa |
Solución |
|
403 |
El servidor rechazó la solicitud debido a un error de autorización. |
Compruebe el endpoint y el token. Para obtener los valores correctos, vaya a Cluster Configurations > Access point information. En clientes Zipkin, elimine también |
|
405 |
El volumen de datos reportados alcanzó la cuota configurada. |
Aumente la cuota en la sección Quota configuration de la página Cluster Configurations. |
|
406 |
La recopilación de datos a nivel de clúster está deshabilitada. |
Habilite la recopilación en la sección Ingestion Configuration de la página Cluster Configurations. |
|
400 |
El cuerpo de la solicitud tiene un formato de datos no compatible. |
Establezca el encabezado |
Error específico de APISIX
Si aparece el siguiente error:
The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
APISIX no puede reportar datos directamente a Managed Service for OpenTelemetry mediante OpenTelemetry. Utilice OpenTelemetry Collector como intermediario para reenviar los datos.
Solucione errores de reporte gRPC
Revise el código de estado de gRPC en la consola o en los archivos de registro. Para consultar la lista completa de códigos de estado de gRPC, consulte Status codes and their use in gRPC.
Tiempo de espera agotado
Mensaje de error:
Failed to export spans. The request could not be executed. Full error message: timeout
Solución:
Compruebe la conectividad de red (consulte Compruebe la conectividad de red).
Aumente el tiempo de espera de reporte en la configuración del SDK o del agente para adaptarlo a su entorno.
Error de autenticación (código de estado 7 de gRPC)
Mensaje de error:
Failed to export spans. Server responded with gRPC status code 7. Error message:
Solución:
Compruebe que el campo Authentication del encabezado de la solicitud gRPC coincida con el token que se muestra en la consola de Managed Service for OpenTelemetry. Para encontrar el token, vaya a Cluster Configurations > Access point information.
Error de MeterSender en SkyWalking
Mensaje de error:
MeterSender : Send meters to collector fail with a grpc internal exception.
org.apache.skywalking.apm.dependencies.io.grpc.StatusRuntimeException:
UNIMPLEMENTED: Method not found: skywalking.v3.MeterReportService/collect
Causa: el cliente de SkyWalking intenta enviar métricas (no trazas) al servidor de Managed Service for OpenTelemetry. Este método no es compatible.
Solución: deshabilite el reporte de métricas en la configuración del cliente de SkyWalking.
Solucione problemas con datos de traza inesperados
Si los datos llegan a la consola, pero las trazas están incompletas o son inesperadas, siga estas indicaciones según el agente o el SDK que utilice.
Agente o SDK de SkyWalking
Eventos faltantes de framework o middleware
-
Revise el directorio de plugins del agente de SkyWalking. Para SkyWalking v8 y versiones posteriores, la ruta predeterminada es:
${agent-path}/agent-8.x/plugins Compruebe que las versiones de los plugins coincidan con las versiones del framework utilizadas en la aplicación. Si falta un plugin obligatorio, cópielo desde el directorio
bootstrap-pluginsooptional-plugins. También puede descargarlo desde la comunidad de SkyWalking.Confirme que solo haya un agente adjunto a la aplicación. Varios agentes pueden generar conflictos de instrumentación.
Trazas rotas
Compruebe si la aplicación utiliza procesamiento asíncrono. En escenarios asíncronos, es posible que el contexto de la traza no se propague automáticamente. Para conocer la solución, consulte Trace Cross Thread en la documentación de SkyWalking.
Trazas más cortas de lo esperado
Aumente el número máximo de spans que el agente de SkyWalking puede reportar. Para ello, modifique collector.agent.service_graph.batch_size en:
${agent-path}/agent-8.x/config/agent.config
Agente o SDK de OpenTelemetry
Trazas rotas
Compruebe si la aplicación utiliza procesamiento asíncrono. Para resolver el problema de trazas rotas en escenarios asíncronos:
Actualice OpenTelemetry a la versión más reciente.
Utilice la API SpanLinks para vincular los spans relacionados.
Especifique explícitamente un span padre para correlacionar las operaciones.
Pase el contexto de la traza a los servicios posteriores mediante la propagación de contexto.