Udostępnij za pośrednictwem


Tworzenie alertów w celu monitorowania, czy magazyn dla klucza partycji logicznej zbliża się do 20 GB

DOTYCZY: NoSQL MongoDB Kasandra Gremlin Stół

Usługa Azure Cosmos DB wymusza maksymalny rozmiar klucza partycji logicznej wynoszący 20 GB. Jeśli na przykład masz kontener/kolekcję partycjonowaną według identyfikatora UserId, dane w partycji logicznej "Alice" mogą przechowywać do 20 GB danych.

Alerty umożliwiają monitorowanie, jeśli istnieją klucze partycji logicznej zbliżające się do limitu partycji logicznej 20 GB. Alerty mogą wysyłać powiadomienia w postaci wiadomości e-mail lub wykonywać akcję, taką jak funkcja platformy Azure lub aplikacja logiki, po wyzwoleniu warunku.

W tym artykule utworzymy alert, który będzie wyzwalany, jeśli magazyn klucza partycji logicznej przekroczy 70% limitu 20 GB (ma więcej niż 14 GB miejsca do magazynowania). Alerty można skonfigurować w okienku Alerty na określonym koncie usługi Azure Cosmos DB lub w usłudze Azure Monitor w witrynie Azure Portal. Oba interfejsy oferują te same opcje. W tym artykule pokazano, jak skonfigurować alert z usługi Azure Monitor.

Wymagania wstępne

Użyjemy danych z kategorii dziennika PartitionKeyStatistics w dziennikach diagnostycznych, aby utworzyć alert. Dzienniki diagnostyczne to funkcja zgody, dlatego przed kontynuowaniem należy ją włączyć. W naszym przykładzie użyjemy zalecanej opcji Dzienniki specyficzne dla zasobów.

Postępuj zgodnie z instrukcjami w temacie Monitorowanie danych usługi Azure Cosmos DB przy użyciu ustawień diagnostycznych na platformie Azure , aby upewnić się, że:

  • Dzienniki diagnostyczne są włączone na kontach usługi Azure Cosmos DB, które chcesz monitorować
  • Skonfigurowano kolekcję kategorii dziennika PartitionKeyStatistics
  • Dzienniki diagnostyczne są wysyłane do obszaru roboczego usługi Log Analytics

Tworzenie alertu

  1. Zaloguj się do Azure Portal.

  2. Wybierz pozycję Monitoruj na pasku nawigacyjnym po lewej stronie i wybierz pozycję Alerty.

  3. Wybierz przycisk Nowa reguła alertu, aby otworzyć okienko Tworzenie reguły alertu.

  4. Wypełnij sekcję Zakres :

    • Otwórz okienko Wybierz zasób i skonfiguruj następujące ustawienia:

    • Wybierz nazwę subskrypcji .

    • Wybierz pozycję Konta usługi Azure Cosmos DB dla typu zasobu.

    • Lokalizacja konta usługi Azure Cosmos DB.

    • Po wypełnieniu szczegółów zostanie wyświetlona lista kont usługi Azure Cosmos DB w wybranym zakresie. Wybierz tę, dla której chcesz skonfigurować alerty, a następnie wybierz pozycję Gotowe.

  5. Wypełnij sekcję Warunek :

    • Otwórz okienko Wybierz warunek, aby otworzyć stronę Wybierz sygnał i skonfigurować następujące ustawienia:

    • Wybierz pozycję Dziennik dla pozycji Typ sygnału.

    • Wybierz pozycję Log Analytics dla usługi Monitor.

    • Wybierz pozycję Wyszukiwanie w dzienniku niestandardowym jako nazwę sygnału.

    • W edytorze zapytań dodaj poniższe zapytanie. Możesz uruchomić zapytanie, aby wyświetlić podgląd wyniku.

    Uwaga

    Jest to idealne rozwiązanie, jeśli zapytanie obecnie nie zwraca żadnych wyników. Dzienniki PartitionKeyStatistics pokazują dane tylko wtedy, gdy istnieją klucze partycji logicznej o znaczącym rozmiarze magazynu, więc jeśli nie zostaną zwrócone żadne wyniki, oznacza to, że nie ma takich kluczy. Jeśli i kiedy takie klucze pojawią się w przyszłości, alert zostanie wyzwolony.

    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
    
    • Wybierz pozycję Kontynuuj edytowanie alertu.

    • W sekcji Miara:

      • Wybierz pozycję utilizationOf20GBLogicalPartition w polu Miara.

      • Wybierz pozycję Maksimum dla pozycji Typ agregacji.

      • Wybierz żądany stopień szczegółowości agregacji na podstawie wymagań. W naszym przykładzie wybierzemy 1 godzinę. Oznacza to, że alert obliczy rozmiar magazynu partycji logicznej przy użyciu najwyższej wartości magazynu w ciągu godziny.

    • W sekcji Podział według wymiarów:

      • Dodaj następujące sześć wymiarów: AccountName, DatabaseName, CollectionName, _ResourceId, PartitionKey, SizeKb. Dzięki temu po wyzwoleniu alertu będzie można zidentyfikować określone konto usługi Azure Cosmos DB, bazę danych, kolekcję i klucz partycji, który wyzwolił alert.

      • Dla wymiaru SizeKb wybierz pozycję Zaznacz wszystkie bieżące i przyszłe wartości jako wartości wymiarów.

      • Dla wszystkich innych wymiarów:

        • Jeśli chcesz monitorować tylko określone konto, bazę danych, kolekcję lub klucz partycji usługi Azure Cosmos DB, wybierz określoną wartość lub Dodaj wartość niestandardową, jeśli wartość nie jest obecnie wyświetlana na liście rozwijanej.

        • W przeciwnym razie wybierz pozycję Wybierz wszystkie bieżące i przyszłe wartości. Jeśli na przykład twoje konto usługi Azure Cosmos DB ma obecnie dwie bazy danych i pięć kolekcji, wybranie wszystkich bieżących i wartości funkcji dla wymiaru Database and CollectionName zapewni, że alert będzie stosowany do wszystkich istniejących baz danych i kolekcji, a także wszystkich utworzonych w przyszłości.

    • W sekcji Logika alertu:

      • Wybierz pozycję Większe niż dla pozycji Operator.

      • Wybierz żądaną wartość progową. W zależności od tego, jak napisaliśmy zapytanie, prawidłowy próg będzie liczbą z zakresu od 0 do 1 (włącznie). W naszym przykładzie chcemy wyzwolić alert, jeśli klucz partycji logicznej osiągnie 70% dozwolonego magazynu, więc wprowadzimy wartość 0,7. Tę liczbę można dostroić na podstawie wymagań.

      • Wybierz żądaną częstotliwość oceny na podstawie wymagań. W naszym przykładzie wybierzemy 1 godzinę. Należy pamiętać, że ta wartość musi być mniejsza lub równa okresowi oceny alertu.

      Po ukończeniu kroku 5 sekcja Warunek będzie wyglądać podobnie do poniższego przykładu.

      Zrzut ekranu przedstawiający przykładową konfigurację logiki sygnału

  6. Wypełnij sekcję Akcje :

    • Wybierz istniejącą grupę akcji lub utwórz nową grupę akcji. Grupa akcji umożliwia zdefiniowanie akcji, które mają zostać wykonane po wyzwoleniu alertu. W tym przykładzie utwórz nową grupę akcji, aby otrzymywać powiadomienie e-mail po wyzwoleniu alertu. Otwórz okienko Tworzenie grupy akcji.

    • W sekcji Podstawy:

      • Wybierz subskrypcję i grupę zasobów, w której zostanie utworzona ta grupa akcji.

      • Nazwa grupy akcji — nazwa grupy akcji musi być unikatowa w grupie zasobów.

      • Nazwa wyświetlana — ta wartość jest uwzględniana w powiadomieniach e-mail i SMS w celu określenia, która grupa akcji była źródłem powiadomienia.

    • W sekcji Powiadomienia:

      • Podaj nazwę powiadomienia.

      • Wybierz pozycję Wiadomość e-mail/wiadomość SMS/Wypychanie/głos jako typ powiadomienia, a następnie wprowadź informacje e-mail, SMS, Push Notification lub Voice.

    • Opcjonalnie: w sekcji Akcje możesz wybrać akcję , która zostanie uruchomiona, na przykład funkcję platformy Azure lub aplikację logiki w sekcji Akcje .

    • Wybierz pozycję Przejrzyj i utwórz , aby utworzyć grupę akcji.

  7. Wypełnij sekcję Szczegóły :

    • Zdefiniuj nazwę alertu, podaj opcjonalny opis, poziom ważności alertu i określ, czy reguła ma być włączona podczas tworzenia reguły.
    • Wybierz pozycję Przejrzyj i utwórz , a następnie wybierz pozycję Utwórz , aby zakończyć tworzenie alertu.

Po utworzeniu alertu będzie on aktywny w ciągu 10 minut.

Alert przykładowy

Aby wyświetlić alerty w witrynie Azure Portal:

  1. Zaloguj się do Azure Portal.

  2. Wybierz pozycję Monitoruj na pasku nawigacyjnym po lewej stronie i wybierz pozycję Alerty.

Po wyzwoleniu alertu będzie on zawierał następujące elementy:

  • Nazwa konta bazy danych
  • Nazwa bazy danych
  • Nazwa kolekcji
  • Klucz partycji logicznej
  • Magazyn w kb klucza partycji logicznej
  • Wykorzystanie limitu 20 GB

Na przykład w alercie, który został wyzwolony poniżej, widzimy, że partycja logiczna "ContosoTenant" osiągnęła 0,78 limitu magazynu partycji logicznej 20 GB z 16 GB danych w określonej bazie danych i kolekcji.

Zrzut ekranu przedstawiający alert wyzwolony, gdy rozmiar klucza partycji logicznej przekracza próg

Kroki rozwiązania problemu

Po osiągnięciu limitu rozmiaru partycji logicznej 20 GB nie będzie można zapisywać więcej danych na tej partycji logicznej. W związku z tym zaleca się zmiana architektury aplikacji przy użyciu innego klucza partycji jako długoterminowego rozwiązania.

Aby ułatwić wykonanie tej czynności, możesz zażądać tymczasowego zwiększenia limitu klucza partycji logicznej dla istniejącej aplikacji. Utwórz bilet pomoc techniczna platformy Azure i wybierz typ limitu przydziału Tymczasowy wzrost rozmiaru klucza partycji logicznej kontenera. Należy pamiętać, że jest to tymczasowe ograniczenie ryzyka i nie jest zalecane jako długoterminowe rozwiązanie, ponieważ gwarancje umowy SLA nie są honorowane w przypadku zwiększenia limitu. Aby usunąć konfigurację, utwórz bilet pomocy technicznej i wybierz typ limitu przydziału Przywróć domyślną wartość rozmiaru klucza partycji logicznej kontenera (20 GB) . Można to zrobić po usunięciu danych w celu dopasowania do limitu partycji logicznej 20 GB lub zmiany architektury aplikacji przy użyciu innego klucza partycji.

Aby dowiedzieć się więcej o najlepszych rozwiązaniach dotyczących zarządzania obciążeniami, które mają klucze partycji wymagające wyższych limitów dla magazynu lub przepływności, zobacz Tworzenie syntetycznego klucza partycji.

Następne kroki