Kelola operasi kardinalitas tinggi - Amazon CloudWatch

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kelola operasi kardinalitas tinggi

Sinyal Aplikasi mencakup pengaturan di CloudWatch agen yang dapat Anda gunakan untuk mengelola kardinalitas operasi Anda dan mengelola ekspor metrik untuk mengoptimalkan biaya. Secara default, fungsi pembatas metrik menjadi aktif ketika jumlah operasi yang berbeda untuk layanan dari waktu ke waktu melebihi ambang default 500. Anda dapat menyetel perilaku dengan menyesuaikan pengaturan konfigurasi.

Tentukan apakah pembatasan metrik diaktifkan

Anda dapat menggunakan metode berikut untuk mengetahui apakah pembatasan metrik default sedang terjadi. Jika ya, Anda harus mempertimbangkan untuk mengoptimalkan kontrol kardinalitas dengan mengikuti langkah-langkah di bagian selanjutnya.

  • Di CloudWatch konsol, pilih Sinyal Aplikasi, Layanan. Jika Anda melihat Operasi bernama AllOtherOperationsatau RemoteOperationbernama AllOtherRemoteOperations, maka pembatasan metrik sedang terjadi.

  • Jika ada metrik yang dikumpulkan oleh Sinyal Aplikasi yang memiliki nilai AllOtherOperations untuk Operation dimensinya, maka pembatasan metrik sedang terjadi.

  • Jika ada metrik yang dikumpulkan oleh Sinyal Aplikasi yang memiliki nilai AllOtherRemoteOperations untuk RemoteOperation dimensinya, maka pembatasan metrik sedang terjadi.

Optimalkan kontrol kardinalitas

Untuk mengoptimalkan kontrol kardinalitas Anda, Anda dapat melakukan hal berikut:

  • Buat aturan kustom untuk operasi agregat.

  • Konfigurasikan kebijakan pembatasan metrik Anda.

Buat aturan kustom untuk operasi agregat

Operasi kardinalitas tinggi terkadang dapat disebabkan oleh nilai unik yang tidak tepat yang diekstraksi dari konteksnya. Misalnya, mengirimkan permintaan HTTP/S yang menyertakan pengguna IDs atau sesi IDs di jalur dapat menyebabkan ratusan operasi yang berbeda. Untuk mengatasi masalah tersebut, sebaiknya Anda mengonfigurasi CloudWatch agen dengan aturan penyesuaian untuk menulis ulang operasi ini.

Dalam kasus di mana ada lonjakan dalam menghasilkan berbagai metrik yang berbeda melalui RemoteOperation panggilan individual, sepertiPUT /api/customer/owners/123,, dan permintaan serupaPUT /api/customer/owners/456, kami sarankan Anda mengkonsolidasikan operasi ini menjadi satu. RemoteOperation Salah satu pendekatannya adalah menstandarisasi semua RemoteOperation panggilan yang dimulai PUT /api/customer/owners/ dengan format seragam, khususnya. PUT /api/customer/owners/{ownerId} Contoh berikut menggambarkan hal ini. Untuk informasi tentang aturan penyesuaian lainnya, lihatAktifkan Sinyal CloudWatch Aplikasi.

{ "logs":{ "metrics_collected":{ "application_signals":{ "rules":[ { "selectors":[ { "dimension":"RemoteOperation", "match":"PUT /api/customer/owners/*" } ], "replacements":[ { "target_dimension":"RemoteOperation", "value":"PUT /api/customer/owners/{ownerId}" } ], "action":"replace" } ] } } } }

Dalam kasus lain, metrik kardinalitas tinggi mungkin telah digabungkanAllOtherRemoteOperations, dan mungkin tidak jelas metrik spesifik apa yang disertakan. CloudWatch Agen dapat mencatat operasi yang dijatuhkan. Untuk mengidentifikasi operasi yang dijatuhkan, gunakan konfigurasi dalam contoh berikut untuk mengaktifkan logging hingga masalah muncul kembali. Kemudian periksa log CloudWatch agen (dapat diakses oleh wadah stdout atau file EC2 log) dan cari kata kuncidrop metric data.

{ "agent": { "config": { "agent": { "debug": true }, "traces": { "traces_collected": { "application_signals": { } } }, "logs": { "metrics_collected": { "application_signals": { "limiter": { "log_dropped_metrics": true } } } } } } }

Buat kebijakan pembatasan metrik Anda

Jika konfigurasi pembatas metrik default tidak membahas kardinalitas untuk layanan Anda, Anda dapat menyesuaikan konfigurasi pembatas metrik. Untuk melakukan ini, tambahkan limiter bagian di bawah logs/metrics_collected/application_signals bagian dalam file konfigurasi CloudWatch Agen.

Contoh berikut menurunkan ambang batas metrik dari 500 metrik berbeda menjadi 100.

{ "logs": { "metrics_collected": { "application_signals": { "limiter": { "drop_threshold": 100 } } } } }