Monitoramento e Solução de Problemas na AWS
John Q. Martin
Principal Consultant
Gerado automaticamente a partir dos seus traces: sem configuração manual

De relance: verde = no horário · âmbar = atrasado · vermelho = parado

Ao abrir um service map, vá direto ao que não está verde.
Clique em qualquer nó para ver: distribuição de tempo de resposta, status HTTP, tipos de erro.

API Gateway (50ms)
-> OrderService (50ms)
-> PaymentService (100ms)
-> External API (200ms)
Total: 400ms
External API = 50% da latência total
Compare caminho alternativo:
OrderService -> DynamoDB
Total: 120ms (rápido)


Query 1 (10-30ms)
-> Query 2 (30-50ms)
-> Query 3 (50-70ms)
-> Query 4 (70-90ms)

Get user list (10-20ms)
Get user 1 details (20-30ms)
Get user 2 details (30-40ms)
... ×100 consultas sequenciais
Correção: agrupar consultas, eager loading
Correção: agrupar requisições, filas de mensagens, cache

Correção: provisioned concurrency, otimizar inicialização
Service A [Error]
-> Service B [Timeout 5s]
-> Service C [Timeout 5s]
-> Database [Timeout 5s]
Blocos de timeout iguais empilhados pela hierarquia do trace
Correção: timeouts, circuit breakers, fallbacks

Compare grupos:
response_time > 1000ms, ordenar por duração
# Alarme de alta latência
aws cloudwatch put-metric-alarm \
--alarm-name HighLatency \
--metric-name ResponseTime \
--namespace AWS/XRay \
--statistic Average \
--period 300 \
--threshold 1000 \
--comparison-operator GreaterThanThreshold
# Alarme de alto número de erros
aws cloudwatch put-metric-alarm \
--alarm-name HighErrorCount \
--metric-name ErrorCount \
--namespace AWS/XRay \
--statistic Sum \
--period 300 \
--threshold 50 \
--comparison-operator GreaterThanThreshold
Monitoramento e Solução de Problemas na AWS