Solución de problemas AWS X-Ray - AWS X-Ray

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Solución de problemas AWS X-Ray

En este tema se enumeran errores y problemas comunes que podrían surgir cuando se utiliza la consola, la API o los SDK de X-Ray. Si se encuentra con un problema que no aparezca en esta lista, puede utilizar el botón Comentarios de esta página para notificarlo.

Mapa de rastreo de rayos X y páginas de detalles de rastreo

Las siguientes secciones pueden ayudarle si tiene problemas para utilizar el mapa de rastreo de X-Ray y la página de detalles del rastreo:

No veo todos mis CloudWatch registros

La forma de configurar los registros para que aparezcan en el mapa de rastreo de X-Ray y en las páginas de detalles del rastreo depende del servicio.

  • Los registros de API Gateway aparecen si se activa el registro en API Gateway.

No todos los nodos del mapa de servicio admiten la visualización de los registros asociados. Vea los registros de los siguientes tipos de nodos:

  • Contexto Lambda

  • Función de Lambda

  • Etapa API Gateway

  • Clúster de Amazon ECS

  • Instancia de Amazon ECS

  • Servicio de Amazon ECS

  • Tarea de Amazon ECS

  • Clúster de Amazon EKS

  • Espacio de nombres Amazon EKS

  • Nodo Amazon EKS

  • Cápsula Amazon EKS

  • Servicio Amazon EKS

No veo todas mis alarmas en el mapa de trazas de los X-Ray

El mapa de rastreo de X-Ray muestra solo el icono de alerta de un nodo si alguna alarma asociada a ese nodo está en estado ALARMA.

El mapa de rastreo asocia las alarmas a los nodos mediante la siguiente lógica:

  • Si el nodo representa un AWS servicio, todas las alarmas con el espacio de nombres asociado a ese servicio están asociadas al nodo. Por ejemplo, un nodo de este tipo AWS::Kinesis está vinculado a todas las alarmas que se basan en las métricas del CloudWatch espacio de nombres. AWS/Kinesis

  • Si el nodo representa un AWS recurso, las alarmas de ese recurso específico están vinculadas. Por ejemplo, un nodo de tipo AWS::DynamoDB::Table con el nombre «MyTable» está vinculado a todas las alarmas que se basan en una métrica con el espacio de nombres AWS/DynamoDB y cuya TableName dimensión está establecida en. MyTable

  • Si el nodo es de tipo desconocido, que se identifica mediante un borde discontinuo alrededor del nombre, no se asociará ninguna alarma a ese nodo.

No veo algunos AWS recursos en el mapa de rastreo

No todos los AWS recursos están representados por un nodo dedicado. Algunos AWS servicios están representados por un único nodo para todas las solicitudes al servicio. Los siguientes tipos de recurso se muestran con un nodo por recurso:

  • AWS::DynamoDB::Table

  • AWS::Lambda::Function

    Las funciones Lambda se representan mediante dos nodos: uno para el contenedor Lambda y otro para la función. Esto ayuda a identificar problemas de arranque en frío con las funciones de Lambda. Los nodos de contenedor de Lambda se asocian a alarmas y paneles de la misma manera que los nodos de función de Lambda.

  • AWS::ApiGateway::Stage

  • AWS::SQS::Queue

  • AWS::SNS::Topic

Hay demasiados nodos en el mapa de rastreo

Utilice grupos de X-Ray para dividir el mapa en varios mapas. Para obtener más información, consulte Uso de expresiones de filtro con grupos.

SDK de X-Ray para Java

Error: excepción en el hilo «Thread-1" com.amazonaws.xray.exceptions. SegmentNotFoundException: No se pudo iniciar el subsegmento denominado 'AmazonSNS': no se encuentra el segmento.

Este error indica que el SDK de X-Ray intentó grabar una llamada saliente a AWS, pero no pudo encontrar un segmento abierto. Esto podría darse en las siguientes situaciones:

  • No se ha configurado un filtro de servlet: el SDK de X-Ray crea segmentos para las solicitudes entrantes con un filtro denominado AWSXRayServletFilter. Configure un filtro de servlet para instrumentar las solicitudes entrantes.

  • Está utilizando clientes instrumentados fuera del código servlet: si utiliza un cliente instrumentado para realizar llamadas en código de inicio u otro tipo de código que no se ejecute en respuesta a una solicitud entrante, debe crear un segmento manualmente. Para ver ejemplos, consulte Instrumentación de código de inicio.

  • Está usando clientes instrumentados en subprocesos de procesos de trabajo: al crear un nuevo subproceso, la grabadora de X-Ray pierde su referencia al segmento abierto. Puede utilizar los métodos getTraceEntity y setTraceEntity para obtener una referencia al segmento o subsegmento actual (Entity) y devolverlo a la grabadora dentro del hilo. Consulte Uso de clientes instrumentados en subprocesos de trabajo para ver un ejemplo.

SDK de X-Ray para Node.js

Problema: CLS no funciona con Sequelize

Pase el espacio de nombres del SDK de X-Ray para Node.js a Sequelize con el método cls.

var AWSXRay = require('aws-xray-sdk'); const Sequelize = require('sequelize'); Sequelize.cls = AWSXRay.getNamespace(); const sequelize = new Sequelize(...);

Problema: CLS no funciona con Bluebird

Utilice cls-bluebird para que Bluebird funcione con CLS.

var AWSXRay = require('aws-xray-sdk'); var Promise = require('bluebird'); var clsBluebird = require('cls-bluebird'); clsBluebird(AWSXRay.getNamespace());

El daemon de X-Ray

Problema: El demonio está utilizando credenciales incorrectas

El daemon usa el AWS SDK para cargar las credenciales. Si se emplean varios métodos para proporcionar las credenciales, se utilizará el método que tenga la máxima prioridad. Para obtener más información, consulte Ejecutar el demonio.