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 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 menemukan apakah pembatasan metrik default sedang terjadi. Jika ya, Anda harus mempertimbangkan untuk mengoptimalkan kontrol kardinalitas dengan mengikuti langkah-langkah di bagian berikutnya.
Di CloudWatch konsol, pilih Sin yal Aplikasi, Layanan. Jika Anda melihat Operasi bernama AllOtherOperations atau diberi nama RemoteOperation AllOtherRemoteOperations, maka pembatasan metrik sedang terjadi.
Jika metrik yang dikumpulkan oleh Sinyal Aplikasi memiliki nilai
AllOtherOperationsuntukOperationdimensinya, maka pembatasan metrik sedang terjadi.Jika metrik yang dikumpulkan oleh Sinyal Aplikasi memiliki nilai
AllOtherRemoteOperationsuntukRemoteOperationdimensinya, maka pembatasan metrik sedang terjadi.
Optimalkan kontrol kardinalitas
Untuk mengoptimalkan kontrol kardinalitas Anda, Anda dapat melakukan hal berikut:
Buat aturan khusus untuk menggabungkan operasi.
Konfigurasikan kebijakan pembatasan metrik Anda.
Buat aturan khusus untuk menggabungkan operasi
High-cardinality operasi kadang-kadang dapat disebabkan oleh nilai unik yang tidak tepat yang diekstraksi dari konteks. Misalnya, mengirimkan HTTP/S permintaan yang menyertakan ID pengguna atau ID sesi 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 banyak metrik berbeda melalui RemoteOperation panggilan individual, sepertiPUT /api/customer/owners/123,PUT /api/customer/owners/456, dan permintaan serupa, Sinyal Aplikasi merekomendasikan agar Anda menggabungkan operasi ini menjadi satuRemoteOperation. Salah satu pendekatannya adalah menstandarkan semua RemoteOperation panggilan yang dimulai dengan format PUT /api/customer/owners/ yang seragam, khususnya. PUT /api/customer/owners/{ownerId} Contoh berikut menggambarkan hal ini. Untuk informasi tentang aturan penyesuaian lainnya, lihatAktif CloudWatch kan Sinyal 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 terputus, gunakan konfigurasi dalam contoh berikut untuk mengaktifkan logging hingga masalah muncul kembali. Kemudian periksa log CloudWatch agen (dapat diakses oleh kontainer stdout atau file log EC2) 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 } } } } }