View a markdown version of this page

Migrasi dari metrik Klasik ke OTel - Amazon CloudWatch

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:

  1. Dual-write— Publikasikan metrik melalui jalur Klasik dan OTel secara bersamaan.

  2. Validasi — Konfirmasi metrik OTel muncul di Query Studio melalui PromQL.

  3. Buat ulang konsumen — Perbarui alarm dan dasbor untuk menggunakan nama metrik PromQL dan OTel.

  4. 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 _total akhiran untuk penghitung

ErrorCount

http_server_errors_total

Gunakan _total sufiks

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.