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.
Secciones
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 nombresAWS/DynamoDB
y cuyaTableName
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
ysetTraceEntity
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.