Überwachung und Fehlersuche in AWS
John Q. Martin
Principal Consultant
Automatisch aus deinen Trace-Daten erzeugt: kein manueller Aufwand

Auf einen Blick: grün = pünktlich · gelb = verzögert · rot = gestoppt

Wenn du eine Servicemap öffnest, schau zuerst auf alles, was nicht grün ist.
Klicke auf einen Knoten, um zu sehen: Verteilung der Antwortzeiten, HTTP-Status, Fehlertypen.

API Gateway (50ms)
-> OrderService (50ms)
-> PaymentService (100ms)
-> External API (200ms)
Summe: 400ms
External API = 50 % der Gesamtlatenz
Vergleiche alternativen Pfad:
OrderService -> DynamoDB
Summe: 120ms (schnell)


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 sequenzielle Queries
Lösung: Batching, Eager Loading
Lösung: Batch-Requests, Message-Queues, Caching

Lösung: Provisioned Concurrency, Initialisierung optimieren
Service A [Error]
-> Service B [Timeout 5s]
-> Service C [Timeout 5s]
-> Database [Timeout 5s]
Passende Timeout-Blöcke gestapelt durch die Trace-Hierarchie
Lösung: Timeouts, Circuit Breaker, Fallbacks

Gruppen vergleichen:
response_time > 1000ms, nach Dauer sortieren
# Alarm für hohe Latenz
aws cloudwatch put-metric-alarm \
--alarm-name HighLatency \
--metric-name ResponseTime \
--namespace AWS/XRay \
--statistic Average \
--period 300 \
--threshold 1000 \
--comparison-operator GreaterThanThreshold
# Alarm für viele Fehler
aws cloudwatch put-metric-alarm \
--alarm-name HighErrorCount \
--metric-name ErrorCount \
--namespace AWS/XRay \
--statistic Sum \
--period 300 \
--threshold 50 \
--comparison-operator GreaterThanThreshold
Überwachung und Fehlersuche in AWS