As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Solução de problemas AWS X-Ray
Este tópico lista os erros e os problemas comuns que podem ser encontrados ao usar a API, o console ou os SDKs do X-Ray. Se encontrar um problema que não esteja listado aqui, você poderá usar o botão Feedback desta página para relatá-lo.
Seções
Mapa de rastreamento do X-Ray e páginas de detalhes do rastreamento
As seções a seguir podem ajudar se você tiver problemas ao usar o mapa de rastreamento do X-Ray e a página de detalhes do rastreamento:
Não vejo todos os meus CloudWatch registros
A forma de configurar os registros para que eles apareçam no mapa de rastreamento do X-Ray e nas páginas de detalhes do rastreamento depende do serviço.
-
Os logs do API Gateway serão exibidos se o registro estiver ativado no API Gateway.
Nem todos os nós do mapa de serviço oferecem suporte à visualização dos registros associados. Visualize os registros dos seguintes tipos de nós:
Contexto Lambda
Função do Lambda
Estágio do API Gateway
Cluster do Amazon ECS
Instância do Amazon ECS
Serviço do Amazon ECS
Tarefa do Amazon ECS
Cluster do Amazon EKS
Namespace Amazon EKS
Nodo Amazon EKS
Pod Amazon EKS
Serviço Amazon EKS
Não vejo todos os meus alarmes no mapa de rastreamento X-Ray
O mapa de rastreamento do X-Ray mostra somente o ícone de alerta de um nó se algum alarme associado a esse nó estiver no estado ALARM.
O mapa de rastreamento associa alarmes a nós usando a seguinte lógica:
-
Se o nó representar um AWS serviço, todos os alarmes com o namespace associado a esse serviço serão associados ao nó. Por exemplo, um nó do tipo
AWS::Kinesis
está vinculado a todos os alarmes baseados em métricas no CloudWatchAWS/Kinesis
namespace. -
Se o nó representar um AWS recurso, os alarmes desse recurso específico serão vinculados. Por exemplo, um nó do tipo
AWS::DynamoDB::Table
com o nome “MyTable” está vinculado a todos os alarmes baseados em uma métrica com o namespaceAWS/DynamoDB
e com aTableName
dimensão definida como.MyTable
-
Se o nó for de tipo desconhecido, o que é identificado por uma borda tracejada ao redor do nome, nenhum alarme estará associado ao nó.
Não vejo alguns AWS recursos no mapa de rastreamento
Nem todo AWS recurso é representado por um nó dedicado. Alguns AWS serviços são representados por um único nó para todas as solicitações ao serviço. Os seguintes tipos de recursos são exibidos com um nó por recurso:
-
AWS::DynamoDB::Table
-
AWS::Lambda::Function
As funções Lambda são representadas por dois nós: um para o contêiner Lambda e outro para a função. Isso ajuda a identificar problemas de inicialização a frio com funções do Lambda. Os nós de contêiner do Lambda são associados a alarmes e painéis da mesma maneira que os nós de função Lambda.
-
AWS::ApiGateway::Stage
-
AWS::SQS::Queue
-
AWS::SNS::Topic
Há muitos nós no mapa de rastreamento
Use grupos do X-Ray para dividir o mapa em diversos mapas. Para obter mais informações, consulte Usar expressões de filtro com grupos.
X-Ray SDK para Java
Erro: exceção no tópico “Thread-1" com.amazonaws.xray.exceptions. SegmentNotFoundException: Falha ao iniciar o subsegmento chamado 'AmazonSNS': o segmento não pode ser encontrado.
Esse erro indica que o X-Ray SDK tentou gravar uma chamada de saída para AWS, mas não conseguiu encontrar um segmento aberto. Isso pode ocorrer nas seguintes situações:
-
Um filtro de servlet não está configurado: o X-Ray SDK cria segmentos para as solicitações de entrada com um filtro chamado
AWSXRayServletFilter
. Configure um filtro de servlet para instrumentar as solicitações de entrada. -
Você está usando clientes instrumentados fora do código do servlet: se você usar um cliente instrumentado para fazer chamadas no código de inicialização ou em outro código que não seja executado em resposta a uma solicitação de entrada, deverá criar um segmento manualmente. Consulte Instrumentar código de inicialização para ver exemplos.
-
Você está usando clientes instrumentados em threads de operador: quando você cria um thread, o gravador do X-Ray perde a referência do segmento aberto. Você pode usar os métodos
getTraceEntity
esetTraceEntity
para obter uma referência ao segmento ou subsegmento atual (Entity
), e passá-los de volta para o gravador dentro do thread. Consulte Usar clientes instrumentais em threads de operador para ver um exemplo.
X-Ray SDK para Node.js
Problema: o CLS não funciona com o Sequelize
Passe o namespace do X-Ray SDK para Node.js para o Sequelize com o método cls
.
var AWSXRay = require('aws-xray-sdk');
const Sequelize = require('sequelize');
Sequelize.cls = AWSXRay.getNamespace();
const sequelize = new Sequelize(...
);
Problema: o CLS não funciona com o Bluebird
Use cls-bluebird
para fazer com que o Bluebird funcione com o CLS.
var AWSXRay = require('aws-xray-sdk');
var Promise = require('bluebird');
var clsBluebird = require('cls-bluebird');
clsBluebird(AWSXRay.getNamespace());
O daemon do X-Ray
Problema: O daemon está usando as credenciais erradas
O daemon usa o AWS SDK para carregar as credenciais. Se você usar vários métodos para fornecer credenciais, o método com a precedência mais alta será usado. Consulte Execução do daemon para obter mais informações.