Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Migrieren Sie von Classic zu Otel Metrics
Kunden, die derzeit benutzerdefinierte Metriken über PutMetricData oder EMF veröffentlichen, können schrittweise auf den oTEL-Pfad migrieren. Es gibt keinen Flaggentag — die Migration erfolgt Workload für Workload in Ihrem eigenen Tempo.
Migrationsansatz
Die Migration besteht aus vier Phasen:
-
Dual-write— Veröffentlichen Sie Metriken gleichzeitig über Classic- und Otel-Pfade.
-
Validieren — Bestätigen Sie, dass die oTEL-Metriken in Query Studio über PromQL angezeigt werden.
-
Verbraucher neu erstellen — Aktualisieren Sie Alarme und Dashboards, sodass sie die Metriknamen PromQL und oTEL verwenden.
-
Überspringen — Beenden Sie die klassische Veröffentlichung, nachdem Sie die Otel-Nutzer validiert haben.
Schritt 1: Instrument mit oTEL SDK (Dual-Write)
Fügen Sie das OTel SDK zusammen mit Ihren bestehenden PutMetricData Anrufen hinzu. Beide Pfade können gleichzeitig veröffentlicht werden — Sie verlieren keine Daten.
# Existing Classic publishing (keep running during migration) cloudwatch.put_metric_data( Namespace='MyApp', MetricData=[{'MetricName': 'RequestLatency', 'Value': 42.5, 'Unit': 'Milliseconds'}] ) # New OTel publishing (add this) from opentelemetry import metrics meter = metrics.get_meter("my-app") histogram = meter.create_histogram("http_request_duration_seconds") histogram.record(0.0425, {"method": "GET", "path": "/api/users"})
Schritt 2: In Query Studio verifizieren
Um zu überprüfen, ob Ihre oTEL-Metriken ankommen, öffnen Sie die CloudWatch Konsole und navigieren Sie zu Query Studio. Suchen Sie nach Ihrer Metrik:
http_request_duration_seconds
Vergewissern Sie sich, dass die Daten mit den erwarteten Bezeichnungen angezeigt werden.
Schritt 3: Erstellen Sie Alarme zu oTEL-Metriken neu
Erstellen Sie neue Alarme, die Otel-Metriken mithilfe von PromQL-Ausdrücken abfragen. Das folgende Beispiel zeigt einen Classic-Alarm und sein Otel-Äquivalent.
Klassischer Alarm:
aws cloudwatch put-metric-alarm \ --alarm-name "high-latency" \ --namespace "MyApp" \ --metric-name "RequestLatency" \ --statistic Average --threshold 100 ...
Hoteläquivalent (PromQL-Alarm):
aws cloudwatch put-metric-alarm \ --alarm-name "high-latency-otel" \ --metrics '[{"Id":"q1","Expression":"avg(http_request_duration_seconds{path=\"/api/users\"}) * 1000","Period":300,"ReturnData":true}]' \ --threshold 100 ...
Lassen Sie beide Alarme parallel laufen, bis Sie sicher sind, dass die OTel-Version korrekt ausgelöst wird.
Schritt 4: Stoppen Sie die klassische Veröffentlichung
Nachdem Sie Ihre oTEL-Alarme und -Dashboards validiert haben, entfernen Sie die PutMetricData Anrufe aus Ihrem Anwendungscode. Bei klassischen Kennzahlen fallen sofort keine Gebühren mehr an.
Zuordnung der Metriknamen
Die folgende Tabelle zeigt gebräuchliche Classic-Metriknamen und ihre empfohlenen oTEL-Entsprechungen.
| Klassischer Name | Vorgeschlagener Hotelname | Hinweise |
|---|---|---|
RequestLatency (Frau) |
http_request_duration_seconds |
In Sekunden umrechnen (OTel-Konvention) |
RequestCount |
http_requests_total |
Verwenden Sie das Suffix für Zähler |
ErrorCount |
http_server_errors_total |
Suffix verwenden |
QueueDepth |
queue_depth |
Gauge — kein Suffix erforderlich |
Was ist mit AWS verkaufte Metriken?
Sie müssen Verkaufsmetriken (Amazon EC2 EC2-CPU, Amazon RDS-Verbindungen usw.) nicht manuell migrieren AWS . Aktivieren Sie oTEL Vending Metric Enrichment, um sie automatisch über PromQL abfragbar zu machen. Weitere Informationen finden Sie unter AWS verkaufte Metriken im Format OpenTelemetry.