Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Migrasi dari metrik Klasik ke OTel
Pelanggan yang saat ini menerbitkan metrik kustom melalui PutMetricData atau EMF dapat bermigrasi secara bertahap ke jalur OTel. Tidak ada hari bendera - migrasi terjadi beban kerja berdasarkan beban kerja dengan kecepatan Anda sendiri.
Pendekatan migrasi
Migrasi mengikuti empat fase:
-
Dual-write— Publikasikan metrik melalui jalur Klasik dan OTel secara bersamaan.
-
Validasi — Konfirmasi metrik OTel muncul di Query Studio melalui PromQL.
-
Buat ulang konsumen — Perbarui alarm dan dasbor untuk menggunakan nama metrik PromQL dan OTel.
-
Potong - Hentikan penerbitan Classic setelah Anda memvalidasi konsumen OTel.
Langkah 1: Instrumen dengan OTel SDK (dual-write)
Tambahkan OTel SDK bersama panggilan Anda yang ada PutMetricData . Kedua jalur dapat mempublikasikan secara bersamaan — Anda tidak kehilangan data.
# 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"})
Langkah 2: Verifikasi di Query Studio
Untuk memverifikasi bahwa metrik OTel Anda telah tiba, buka CloudWatch konsol dan navigasikan ke Query Studio. Cari metrik Anda:
http_request_duration_seconds
Konfirmasikan bahwa data muncul dengan label yang Anda harapkan.
Langkah 3: Buat ulang alarm pada metrik OTel
Buat alarm baru yang menanyakan metrik OTel menggunakan ekspresi PromQL. Contoh berikut menunjukkan alarm Klasik dan setara OTel nya.
Alarm klasik:
aws cloudwatch put-metric-alarm \ --alarm-name "high-latency" \ --namespace "MyApp" \ --metric-name "RequestLatency" \ --statistic Average --threshold 100 ...
Setara OTel (alarm PromQL):
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 ...
Jalankan kedua alarm secara paralel hingga Anda yakin versi OTel menyala dengan benar.
Langkah 4: Hentikan penerbitan Klasik
Setelah Anda memvalidasi alarm dan dasbor OTel Anda, hapus PutMetricData panggilan dari kode aplikasi Anda. Metrik klasik segera berhenti menimbulkan biaya.
Pemetaan nama metrik
Tabel berikut menunjukkan nama metrik Klasik umum dan setara OTel yang disarankan.
| Nama klasik | Nama OTel yang disarankan | Catatan |
|---|---|---|
RequestLatency (ms) |
http_request_duration_seconds |
Konversi ke detik (Konvensi OTel) |
RequestCount |
http_requests_total |
Gunakan |
ErrorCount |
http_server_errors_total |
Gunakan |
QueueDepth |
antrian_kedalaman |
Gauge - tidak diperlukan sufiks |
Bagaimana tentang AWS metrik yang dijual?
Anda tidak perlu memigrasikan metrik AWS vended (CPU Amazon EC2, koneksi Amazon RDS, dan sebagainya) secara manual. Aktifkan Pengayaan Metrik Penjual OTel untuk membuatnya dapat ditanyakan melalui PromQL secara otomatis. Lihat informasi yang lebih lengkap di AWS metrik yang dijual dalam format OpenTelemetry.