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
untukOperation
dimensinya, maka pembatasan metrik sedang terjadi.Jika ada metrik yang dikumpulkan oleh Sinyal Aplikasi yang memiliki nilai
AllOtherRemoteOperations
untukRemoteOperation
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 } } } } }