Buat peringatan untuk memantau apakah penyimpanan untuk kunci partisi logis mendekati 20 GB

BERLAKU UNTUK: Nosql MongoDB Cassandra Gremlin Meja

Azure Cosmos DB memberlakukan ukuran kunci partisi logis maksimum 20 GB. Misalnya, jika Anda memiliki kontainer/koleksi yang dipartisi oleh UserId, data dalam partisi logis "Alice" dapat menyimpan hingga 20 GB data.

Anda dapat menggunakan peringatan untuk memantau apakah Anda memiliki tombol partisi logis yang mendekati batas partisi logis 20 GB. Peringatan dapat mengirimi Anda pemberitahuan dalam bentuk email atau menjalankan tindakan, seperti Azure Function atau Logic App, saat kondisi dipicu.

Pada artikel ini, kita akan membuat peringatan yang akan memicu apakah penyimpanan untuk kunci partisi logis melebihi 70% dari batas 20 GB (memiliki penyimpanan lebih dari 14 GB). Anda dapat menyiapkan peringatan dari panel Peringatan di akun Azure Cosmos DB tertentu atau layanan Azure Monitor di portal Microsoft Azure. Kedua antarmuka menawarkan opsi yang sama. Artikel ini menunjukkan cara menyiapkan peringatan dari Azure Monitor.

Prasyarat

Kami akan menggunakan data dari kategori log PartitionKeyStatistics di Log Diagnostik untuk membuat peringatan kami. Log Diagnostik adalah fitur keikutsertaan, jadi Anda harus mengaktifkannya sebelum melanjutkan. Dalam contoh kami, kami akan menggunakan opsi Log Khusus Sumber Daya yang direkomendasikan.

Ikuti petunjuk di Memantau data Azure Cosmos DB dengan menggunakan pengaturan diagnostik di Azure untuk memastikan:

  • Log Diagnostik diaktifkan pada akun Azure Cosmos DB yang ingin Anda pantau
  • Anda telah mengonfigurasi koleksi kategori log PartitionKeyStatistics
  • Log Diagnostik sedang dikirim ke ruang kerja Analitik Log

Membuat pemberitahuan

  1. Masuk ke portal Microsoft Azure.

  2. Pilih Memantau dari bilah navigasi sebelah kiri dan pilih Pemberitahuan.

  3. Pilih tombol aturan Pemberitahuan baru untuk membuka panel aturan Buat pemberitahuan,

  4. Isi bagian Lingkup:

    • Buka panel Pilih sumber daya dan konfigurasikan berikut ini:

    • Pilih nama langganan Anda.

    • Pilih akun Azure Cosmos DB untuk jenis sumber daya.

    • Lokasi akun Azure Cosmos DB Anda.

    • Setelah mengisi detail, daftar akun Azure Cosmos DB dalam cakupan yang dipilih ditampilkan. Pilih salah satu yang ingin Anda konfigurasikan pemberitahuannya dan pilih Selesai.

  5. Isi bagian Kondisi:

    • Buka panel Pilih kondisi untuk membuka halaman Konfigurasikan logika sinyal dan konfigurasikan berikut:

    • Pilih Log untuk jenis Sinyal.

    • Pilih Analitik log untuk layanan Monitor.

    • Pilih Pencarian log kustom di bawah Nama sinyal.

    • Di editor kueri, tambahkan kueri di bawah ini. Anda dapat menjalankan kueri untuk melihat pratinjau hasilnya.

    Catatan

    Tidak apa-apa jika kueri saat ini tidak mengembalikan hasil. Log PartitionKeyStatistics hanya menampilkan data jika ada kunci partisi logis dengan ukuran penyimpanan yang signifikan, jadi jika tidak ada hasil yang dikembalikan, itu berarti tidak ada kunci tersebut. Jika dan ketika kunci tersebut muncul di masa depan, maka peringatan akan dipicu.

    CDBPartitionKeyStatistics
    // Get the latest storage size for each logical partition key value
    | summarize arg_max(TimeGenerated, *) by AccountName, DatabaseName, CollectionName, _ResourceId, PartitionKey 
    | extend utilizationOf20GBLogicalPartition = SizeKb / (20.0 * 1024.0 * 1024.0) // Current storage / 20GB
    | project TimeGenerated, AccountName, DatabaseName, CollectionName, _ResourceId, PartitionKey, SizeKb, utilizationOf20GBLogicalPartition
    
    • Pilih Lanjutkan Peringatan Pengeditan.

    • Di bagian Pengukuran:

      • Pilih utilizationOf20GBLogicalPartition for Measure.

      • Pada Jenis agregasi, pilih Maksimum.

      • Pilih granularitas Agregasi yang Anda inginkan berdasarkan kebutuhan Anda. Dalam contoh kami, kami akan memilih 1 jam. Ini berarti bahwa peringatan akan menghitung ukuran penyimpanan partisi logis menggunakan nilai penyimpanan tertinggi dalam satu jam.

    • Di bagian Split menurut dimensi:

      • Tambahkan enam dimensi berikut: AccountName, DatabaseName, CollectionName, _ResourceId, PartitionKey, SizeKb. Ini memastikan bahwa ketika peringatan dipicu, Anda akan dapat mengidentifikasi akun, database, koleksi, dan kunci partisi Azure Cosmos DB tertentu yang memicu peringatan.

      • Untuk dimensi SizeKb, pilih Pilih semua nilai saat ini dan masa mendatang sebagai nilai Dimensi.

      • Untuk semua dimensi lainnya:

        • Jika Anda hanya ingin memantau akun Azure Cosmos DB tertentu, database, koleksi, atau kunci partisi, pilih nilai tertentu atau Tambahkan nilai kustom jika nilai saat ini tidak muncul di menu dropdown.

        • Jika tidak, pilih Pilih semua nilai saat ini dan masa mendatang. Misalnya, jika akun Azure Cosmos DB Anda saat ini memiliki dua database dan lima koleksi, memilih semua nilai saat ini dan fitur untuk dimensi Database dan CollectionName akan memastikan bahwa pemberitahuan akan berlaku untuk semua database dan koleksi yang ada, serta apa pun yang dapat Anda buat di masa mendatang.

    • Di bagian Logika peringatan:

      • Pilih Lebih besar dari untuk Operator.

      • Pilih nilai ambang yang Anda inginkan. Berdasarkan cara kami menulis kueri, ambang yang valid akan menjadi angka antara 0 dan 1 (inklusif). Dalam contoh kami, kami ingin memicu peringatan jika kunci partisi logis mencapai 70% dari penyimpanan yang diizinkan, jadi kami memasukkan 0,7. Anda dapat menyetel nomor ini berdasarkan kebutuhan Anda.

      • Pilih Frekuensi evaluasi yang Anda inginkan berdasarkan kebutuhan Anda. Dalam contoh kami, kami akan memilih 1 jam. Perhatikan nilai ini harus kurang dari atau sama dengan periode evaluasi peringatan.

      Setelah menyelesaikan Langkah 5, bagian Kondisi akan terlihat seperti contoh di bawah ini.

      Cuplikan layar contoh konfigurasi untuk logika sinyal

  6. Isi bagian Tindakan :

    • Pilih grup tindakan yang sudah ada atau buat grup tindakan baru. Grup tindakan memungkinkan Anda menentukan tindakan yang akan diambil saat pemberitahuan terjadi. Untuk contoh ini, buat grup tindakan baru untuk menerima pemberitahuan email saat pemberitahuan dipicu. Buka panel Buatlah grup tindakan.

    • Di bagian Dasar:

      • Pilih langganan dan grup sumber daya tempat grup tindakan ini akan dibuat.

      • Nama grup tindakan - Nama grup tindakan harus unik di dalam grup sumber daya.

      • Nama pendek - Nilai ini disertakan dalam notifikasi email dan SMS untuk mengenali grup tindakan mana yang menjadi sumber notifikasi.

    • Di bagian Notifikasi:

      • Berikan nama untuk pemberitahuan tersebut.

      • Pilih Email/SMS pesan/Push/Voice sebagai Jenis Notifikasi dan masukkan email, SMS, Push Notification, atau informasi Suara Anda.

    • Opsional: Di bagian Tindakan, Anda dapat memilih Tindakan yang akan dijalankan, seperti Fungsi Azure atau Aplikasi Logika di bagian Tindakan.

    • Lalu pilih Tinjau + buat untuk membuat Grup Tindakan.

  7. Isi bagian Detail:

    • Tentukan nama untuk peringatan, berikan deskripsi opsional, tingkat keparahan peringatan, dan pilih apakah akan mengaktifkan aturan pada pembuatan aturan.
    • Pilih Tinjau + buat dan pilih Buat untuk menyelesaikan pembuatan peringatan.

Setelah membuat peringatan, peringatan akan aktif selama 10 menit.

Contoh pemberitahuan

Untuk melihat peringatan Anda di portal Microsoft Azure:

  1. Masuk ke portal Microsoft Azure.

  2. Pilih Memantau dari bilah navigasi sebelah kiri dan pilih Pemberitahuan.

Ketika peringatan dihidupkan, itu akan mencakup:

  • Nama Akun Database
  • Nama database
  • Nama koleksi
  • Kunci partisi logis
  • Storage dalam KB dari kunci partisi logis
  • Pemanfaatan batas 20 GB

Misalnya, dalam peringatan yang ditembakkan di bawah ini, kita melihat partisi logis "ContosoTenant" telah mencapai 0,78 dari batas penyimpanan partisi logis 20GB, dengan 16GB data dalam database dan pengumpulan tertentu.

Cuplikan layar peringatan yang diterbitkan saat kunci partisi logis melebihi ambang

Langkah remediasi

Ketika batas ukuran partisi logis 20 GB tercapai, Anda tidak akan dapat menulis data lagi ke partisi logis itu. Akibatnya, disarankan untuk menata ulang aplikasi Anda dengan kunci partisi yang berbeda sebagai solusi jangka panjang.

Dalam membantu proses perancangan ulang aplikasi, Anda dapat meminta peningkatan sementara dalam batas kunci partisi logis untuk aplikasi yang ada. Ajukan tiket dukungan Azure dan pilih jenis kuota Peningkatan sementara dalam ukuran kunci partisi logis kontainer. Perhatikan ini dimaksudkan sebagai mitigasi sementara dan tidak direkomendasikan sebagai solusi jangka panjang, karena jaminan SLA tidak dihormati ketika batas ditingkatkan. Untuk menghapus konfigurasi, ajukan tiket dukungan dan pilih jenis kuota Memulihkan ukuran kunci partisi logis penampung ke default (20 GB). Tindakan ini dapat dilakukan setelah Anda menghapus data agar sesuai dengan batas partisi logis 20 GB atau setelah Anda merancang ulang aplikasi Anda dengan kunci partisi yang berbeda.

Untuk mempelajari tentang praktik terbaik untuk mengelola beban kerja yang memiliki kunci partisi yang membutuhkan batas penyimpanan atau throughput yang lebih tinggi, lihat Membuat kunci partisi sintetis.

Langkah berikutnya