Mantıksal bölüm anahtarı için depolama alanının 20 GB'a yaklaşmakta olup olmadığını izlemek için uyarılar oluşturma

ŞUNLAR IÇIN GEÇERLIDIR: Nosql MongoDB Cassandra Gremlin Tablo

Azure Cosmos DB, en fazla 20 GB mantıksal bölüm anahtarı boyutunu zorunlu kılabilir. Örneğin, UserId tarafından bölümlenmiş bir kapsayıcınız/koleksiyonunuz varsa, "Alice" mantıksal bölümündeki veriler en fazla 20 GB veri depolayabilir.

20 GB mantıksal bölüm sınırına yaklaşan mantıksal bölüm anahtarlarınız olup olmadığını izlemek için uyarıları kullanabilirsiniz. Uyarılar size e-posta biçiminde bir bildirim gönderebilir veya koşul tetiklendiğinde Azure İşlevi veya Mantıksal Uygulama gibi bir eylem yürütebilir.

Bu makalede, mantıksal bölüm anahtarı için depolama alanı 20 GB sınırının %70'ini (14 GB'tan fazla depolama alanına sahip) aşarsa tetiklenecek bir uyarı oluşturacağız. Uyarıları belirli bir Azure Cosmos DB hesabındaki Uyarılar bölmesinden veya Azure portal Azure İzleyici hizmetinden ayarlayabilirsiniz. Her iki arabirim de aynı seçenekleri sunar. Bu makalede Azure İzleyici'den uyarıyı ayarlama adımları gösterilmektedir.

Ön koşullar

Uyarımızı oluşturmak için Tanılama Günlükleri'ndeki PartitionKeyStatistics günlük kategorisindeki verileri kullanacağız. Tanılama Günlükleri bir kabul etme özelliğidir, bu nedenle devam etmeden önce etkinleştirmeniz gerekir. Örneğimizde önerilen Kaynağa Özgü Günlükler seçeneğini kullanacağız.

Aşağıdakilerden emin olmak için Azure'daki tanılama ayarlarını kullanarak Azure Cosmos DB verilerini izleme bölümündeki yönergeleri izleyin:

  • Tanılama Günlükleri, izlemek istediğiniz Azure Cosmos DB hesaplarında etkinleştirilir
  • PartitionKeyStatistics günlük kategorisi koleksiyonunu yapılandırdığınız
  • Tanılama günlükleri Log Analytics çalışma alanına gönderiliyor

Uyarı oluşturma

  1. Azure portal oturum açın.

  2. Sol gezinti çubuğundan İzleyici'yi ve ardından Uyarılar'ı seçin.

  3. Yeni uyarı kuralı düğmesini seçerek Uyarı kuralı oluştur bölmesini açın.

  4. Kapsam bölümünü doldurun:

    • Kaynak seçin bölmesini açın ve aşağıdakileri yapılandırın:

    • Abonelik adınızı seçin.

    • Kaynak türü için Azure Cosmos DB hesapları'nı seçin.

    • Azure Cosmos DB hesabınızın konumu .

    • Ayrıntıları doldurduktan sonra, seçilen kapsamdaki Azure Cosmos DB hesaplarının listesi görüntülenir. Uyarıları yapılandırmak istediğiniz uyarıyı seçin ve Bitti'yi seçin.

  5. Koşul bölümünü doldurun:

    • Koşul seçin bölmesini açarak Sinyal seçin sayfasını açın ve aşağıdakileri yapılandırın:

    • Sinyal türü olarak Günlük'i seçin.

    • İzleme hizmeti için Log Analytics'i seçin.

    • Sinyal adı için Özel günlük araması'nı seçin.

    • Sorgu düzenleyicisine aşağıdaki sorguyu ekleyin. Sonucu önizlemek için sorguyu çalıştırabilirsiniz.

    Not

    Sorgu şu anda hiçbir sonuç döndürmezse sorun olmaz. PartitionKeyStatistics günlükleri yalnızca önemli depolama boyutuna sahip mantıksal bölüm anahtarları varsa verileri gösterir, bu nedenle sonuç döndürülmezse bu tür anahtarlar olmadığı anlamına gelir. Gelecekte bu tür anahtarlar görünürse ve göründüğünde uyarı tetiklenir.

    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
    
    • Uyarıyı Düzenlemeye Devam Et'i seçin.

    • Ölçüm bölümünde:

      • Ölçü için utilizationOf20GBLogicalPartition seçeneğini belirleyin.

      • Toplama türü için En Yüksek'i seçin.

      • Gereksinimlerinize göre istediğiniz Toplama ayrıntı düzeyini seçin. Örneğimizde 1 saat seçeceğiz. Bu, uyarının mantıksal bölümün depolama boyutunu saat içindeki en yüksek depolama değerini kullanarak hesap edeceği anlamına gelir.

    • Boyutlara göre böl bölümünde:

      • Aşağıdaki altı boyutu ekleyin: AccountName, DatabaseName, CollectionName, _ResourceId, PartitionKey, SizeKb. Bu, uyarı tetiklendiğinde uyarıyı tetikleyen belirli Azure Cosmos DB hesabını, veritabanını, koleksiyonunu ve bölüm anahtarını tanımlayabilmenizi sağlar.

      • SizeKb boyutu için Boyut değerleri olarak Tüm geçerli ve gelecekteki değerleri seçin'i seçin.

      • Diğer tüm boyutlar için:

        • Yalnızca belirli bir Azure Cosmos DB hesabını, veritabanını, koleksiyonunu veya bölüm anahtarını izlemek istiyorsanız, belirli bir değeri seçin veya Değer şu anda açılan listede görünmüyorsa Özel değer ekle'yi seçin.

        • Aksi takdirde Tüm geçerli ve gelecekteki değerleri seç'i seçin. Örneğin, Azure Cosmos DB hesabınızda şu anda iki veritabanı ve beş koleksiyon varsa, Database ve CollectionName boyutu için tüm geçerli ve özellik değerlerinin seçilmesi, uyarının mevcut tüm veritabanlarına ve koleksiyonlara ve gelecekte oluşturabileceğiniz tüm koleksiyonlara uygulanmasını sağlar.

    • Uyarı mantığı bölümünde:

      • İşleç için Büyüktür seçeneğini belirleyin.

      • İstediğiniz eşik değerini seçin. Sorguyu nasıl yazdığımıza bağlı olarak geçerli bir eşik 0 ile 1 (dahil) arasında bir sayı olacaktır. Örneğimizde, mantıksal bölüm anahtarı izin verilen depolama alanının %70'ine ulaşırsa uyarıyı tetikleyeceğiz, bu nedenle 0,7 gireriz. Bu numarayı gereksinimlerinize göre ayarlayabilirsiniz.

      • Gereksinimlerinize göre istediğiniz değerlendirme sıklığını seçin. Örneğimizde 1 saat seçeceğiz. Bu değerin uyarı değerlendirme süresinden küçük veya buna eşit olması gerektiğini unutmayın.

      5. Adımı tamamladıktan sonra Koşul bölümü aşağıdaki örneğe benzer olacaktır.

      Sinyal mantığı için örnek yapılandırmanın ekran görüntüsü

  6. Eylemler bölümünü doldurun:

    • Var olan bir eylem grubunu seçin veya yeni bir eylem grubu oluşturun. Eylem grubu, uyarı tetiklendiğinde gerçekleştirilecek eylemleri tanımlamanızı sağlar. Bu örnekte, uyarı tetiklendiğinde e-posta bildirimi almak için yeni bir eylem grubu oluşturun. Eylem grubu oluştur bölmesini açın.

    • Temel Bilgiler bölümünde:

      • Bu eylem grubunun oluşturulacağı aboneliği ve kaynak grubunu seçin.

      • Eylem grubu adı - Eylem grubu adı bir kaynak grubu içinde benzersiz olmalıdır.

      • Görünen ad - Bu değer, bildirimin kaynağının hangi eylem grubu olduğunu belirlemek için e-posta ve SMS bildirimlerine eklenir.

    • Bildirimler bölümünde:

      • Bildiriminiz için bir ad belirtin.

      • Bildirim Türü olarak Email/SMS mesajı/Anında İletme/Ses'i seçin ve e-posta, SMS, Anında İletme Bildirimi veya Sesli bilgilerinizi girin.

    • İsteğe bağlı: Eylemler bölümünde çalıştırılacak Bir Eylem seçebilirsiniz; örneğin, Eylemler bölümünde Azure İşlevi veya Mantıksal Uygulama.

    • Eylem Grubunu oluşturmak için Gözden Geçir ve oluştur'u seçin.

  7. Ayrıntılar bölümünü doldurun:

    • Uyarı için bir ad tanımlayın, isteğe bağlı bir açıklama, uyarının önem düzeyi sağlayın ve kural oluşturulduysa kuralın etkinleştirilip etkinleştirilmeyeceğini seçin.
    • Gözden geçir ve oluştur'u seçin ve oluştur'u seçerek uyarı oluşturmayı tamamlayın.

Uyarı oluşturulduktan sonra 10 dakika içinde etkin olur.

Örnek uyarı

Uyarılarınızı Azure portal görmek için:

  1. Azure portal oturum açın.

  2. Sol gezinti çubuğundan İzleyici'yi ve ardından Uyarılar'ı seçin.

Uyarı tetiklendiğinde şunları içerir:

  • Veritabanı hesabı adı
  • Veritabanı adı
  • Koleksiyon adı
  • Mantıksal bölüm anahtarı
  • Mantıksal bölüm anahtarının KB'sinde depolama
  • 20 GB sınırının kullanımı

Örneğin, aşağıda tetiklenen uyarıda, "ContosoTenant" mantıksal bölümünün 20 GB mantıksal bölüm depolama sınırının 0,78'ine ulaştığını ve belirli bir veritabanı ve koleksiyonda 16 GB veri olduğunu görüyoruz.

Mantıksal bölüm anahtarı boyutu eşiği aştığında tetiklenen uyarının ekran görüntüsü

Düzeltme adımları

20 GB mantıksal bölüm boyutu sınırına ulaşıldığında, bu mantıksal bölüme daha fazla veri yazamazsınız. Sonuç olarak, uygulamanızı uzun vadeli bir çözüm olarak farklı bir bölüm anahtarıyla yeniden mimariye ayırmanız önerilir.

Bunun için zaman kazandırmaya yardımcı olmak için, mevcut uygulamanızın mantıksal bölüm anahtarı sınırında geçici bir artış isteyebilirsiniz. bir Azure desteği bileti oluşturun ve kapsayıcının mantıksal bölüm anahtarı boyutunda geçici artış kota türünü seçin. SLA garantileri sınır artırıldığında uygulanmadığından, bunun geçici bir risk azaltma olarak tasarlandığına ve uzun vadeli bir çözüm olarak önerilmediğine dikkat edin. Yapılandırmayı kaldırmak için bir destek bileti oluşturun ve kota türü olarak Kapsayıcının mantıksal bölüm anahtarı boyutunu varsayılan değerine (20 GB) geri yükleme türünü seçin. Bu, verileri 20 GB mantıksal bölüm sınırına uyacak şekilde sildikten veya uygulamanızı farklı bir bölüm anahtarıyla yeniden yerleştirdikten sonra yapılabilir.

Depolama veya aktarım hızı için daha yüksek sınırlar gerektiren bölüm anahtarlarına sahip iş yüklerini yönetmeye yönelik en iyi uygulamalar hakkında daha fazla bilgi için bkz. Yapay bölüm anahtarı oluşturma.

Sonraki adımlar