Dela via


Skapa aviseringar för att övervaka om lagring för en logisk partitionsnyckel närmar sig 20 GB

GÄLLER FÖR: NoSQL MongoDB Kassandra Gremlin Bord

Azure Cosmos DB tillämpar en maximal logisk partitionsnyckelstorlek på 20 GB. Om du till exempel har en container/samling partitionerad av UserId kan data i den logiska partitionen "Alice" lagra upp till 20 GB data.

Du kan använda aviseringar för att övervaka om du har några logiska partitionsnycklar som närmar sig gränsen på 20 GB logisk partition. Aviseringar kan skicka ett meddelande i form av ett e-postmeddelande eller köra en åtgärd, till exempel en Azure-funktion eller logikapp, när villkoret utlöses.

I den här artikeln skapar vi en avisering som utlöser om lagringen för en logisk partitionsnyckel överskrider 70 % av gränsen på 20 GB (har mer än 14 GB lagringsutrymme). Du kan konfigurera aviseringar från fönstret Aviseringar i ett specifikt Azure Cosmos DB-konto eller Azure Monitor-tjänsten i Azure Portal. Båda gränssnitten har samma alternativ. Den här artikeln visar hur du konfigurerar aviseringen från Azure Monitor.

Förutsättningar

Vi kommer att använda data från loggkategorin PartitionKeyStatistics i diagnostikloggar för att skapa vår avisering. Diagnostikloggar är en opt-in-funktion, så du måste aktivera den innan du fortsätter. I vårt exempel använder vi det rekommenderade alternativet Resursspecifika loggar.

Följ anvisningarna i Övervaka Azure Cosmos DB-data med hjälp av diagnostikinställningar i Azure för att säkerställa:

  • Diagnostikloggar är aktiverade på de Azure Cosmos DB-konton som du vill övervaka
  • Du har konfigurerat en samling av loggkategorin PartitionKeyStatistics
  • Diagnostikloggarna skickas till en Log Analytics-arbetsyta

Skapa aviseringen

  1. Logga in på Azure-portalen.

  2. Välj Övervaka i det vänstra navigeringsfältet och välj Aviseringar.

  3. Välj knappen Ny aviseringsregel för att öppna fönstret Skapa aviseringsregel.

  4. Fyll i avsnittet Omfång :

    • Öppna fönstret Välj resurs och konfigurera följande:

    • Välj ditt prenumerationsnamn .

    • Välj Azure Cosmos DB-konton för resurstypen.

    • Platsen för ditt Azure Cosmos DB-konto.

    • När du har fyllt i informationen visas en lista över Azure Cosmos DB-konton i det valda omfånget. Välj den som du vill konfigurera aviseringar för och välj Klar.

  5. Fyll i avsnittet Villkor :

    • Öppna fönstret Välj villkor för att öppna sidan Välj en signal och konfigurera följande:

    • Välj Logga som signaltyp.

    • Välj Log Analytics för monitortjänsten.

    • Välj Anpassad loggsökning för signalnamnet.

    • Lägg till frågan nedan i frågeredigeraren. Du kan köra frågan för att förhandsgranska resultatet.

    Kommentar

    Det är helt ok om frågan för närvarande inte returnerar några resultat. PartitionKeyStatistics-loggarna visar endast data om det finns logiska partitionsnycklar med betydande lagringsstorlek, så om inga resultat returneras innebär det att det inte finns några sådana nycklar. Om och när sådana nycklar visas i framtiden utlöses aviseringen.

    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
    
    • Välj Fortsätt redigera avisering.

    • I avsnittet Mått:

      • Välj utilizationOf20GBLogicalPartition för Mått.

      • Välj Max för sammansättningstyp.

      • Välj önskad sammansättningskornighet baserat på dina krav. I vårt exempel väljer vi 1 timme. Det innebär att aviseringen beräknar lagringsstorleken för den logiska partitionen med det högsta lagringsvärdet under timmen.

    • I avsnittet Dela efter dimensioner:

      • Lägg till följande sex dimensioner: AccountName, DatabaseName, CollectionName, _ResourceId, PartitionKey, SizeKb. Detta säkerställer att när aviseringen utlöses kan du identifiera det specifika Azure Cosmos DB-kontot, databasen, samlingen och partitionsnyckeln som utlöste aviseringen.

      • Som SizeKb-dimension väljer du Markera alla aktuella och framtida värden som Dimensionsvärden.

      • För alla andra dimensioner:

        • Om du bara vill övervaka ett specifikt Azure Cosmos DB-konto, databas, samling eller partitionsnyckel väljer du det specifika värdet eller Lägg till anpassat värde om värdet för närvarande inte visas i listrutan.

        • Annars väljer du Markera alla aktuella och framtida värden. Om ditt Azure Cosmos DB-konto till exempel för närvarande har två databaser och fem samlingar ser du till att aviseringen gäller för alla befintliga databaser och samlingar och alla som du kan skapa i framtiden om du väljer alla aktuella värden och funktionsvärden för dimensionen Database och CollectionName.

    • I avsnittet Aviseringslogik:

      • Välj Större än för Operator.

      • Välj önskat tröskelvärde. Baserat på hur vi har skrivit frågan är ett giltigt tröskelvärde ett tal mellan 0 och 1 (inklusive). I vårt exempel vill vi utlösa aviseringen om en logisk partitionsnyckel når 70 % av den tillåtna lagringen, så vi anger 0,7. Du kan justera det här numret baserat på dina krav.

      • Välj önskad utvärderingsfrekvens baserat på dina krav. I vårt exempel väljer vi 1 timme. Observera att det här värdet måste vara mindre än eller lika med aviseringsutvärderingsperioden.

      När du har slutfört steg 5 ser avsnittet Villkor ut som exemplet nedan.

      Skärmbild av en exempelkonfiguration för signallogik

  6. Fyll i avsnittet Åtgärder :

    • Välj en befintlig åtgärdsgrupp eller skapa en ny åtgärdsgrupp. Med en åtgärdsgrupp kan du definiera vilka åtgärder som ska vidtas när aviseringen utlöses. I det här exemplet skapar du en ny åtgärdsgrupp för att få ett e-postmeddelande när aviseringen utlöses. Öppna fönstret Skapa åtgärdsgrupp .

    • I avsnittet Grundläggande :

      • Välj prenumerationen och resursgruppen där den här åtgärdsgruppen ska skapas.

      • Namn på åtgärdsgrupp – Namnet på åtgärdsgruppen måste vara unikt i en resursgrupp.

      • Visningsnamn – Det här värdet ingår i e-post- och SMS-meddelanden för att identifiera vilken åtgärdsgrupp som var källan till meddelandet.

    • I avsnittet Meddelanden :

      • Ange ett namn för meddelandet.

      • Välj E-post/SMS-meddelande/Push/Röst som meddelandetyp och ange din e-post, SMS, push-meddelande eller röstinformation.

    • Valfritt: I avsnittet Åtgärder kan du välja en åtgärd som ska köras, till exempel en Azure-funktion eller logikapp i avsnittet Åtgärder .

    • Välj Granska + skapa för att skapa åtgärdsgruppen.

  7. Fyll i avsnittet Information :

    • Definiera ett namn för aviseringen, ange en valfri beskrivning, allvarlighetsgraden för aviseringen och välj om regeln ska aktiveras när regeln skapas.
    • Välj Granska + skapa och välj Skapa för att slutföra skapandet av aviseringen.

När du har skapat aviseringen är den aktiv inom 10 minuter.

Exempelavisering

Så här ser du aviseringarna i Azure Portal:

  1. Logga in på Azure-portalen.

  2. Välj Övervaka i det vänstra navigeringsfältet och välj Aviseringar.

När aviseringen utlöses kommer den att innehålla:

  • Databaskontonamn
  • Databasnamn
  • Samlingsnamn
  • Logisk partitionsnyckel
  • Lagring i KB för den logiska partitionsnyckeln
  • Användning av gränsen på 20 GB

I aviseringen som utlöstes nedan ser vi till exempel att den logiska partitionen "ContosoTenant" har nått 0,78 av lagringsgränsen på 20 GB logisk partition, med 16 GB data i en viss databas och samling.

Skärmbild av en avisering som utlöstes när nyckelstorleken för logisk partition överskrider tröskelvärdet

Reparationssteg

När storleksgränsen på 20 GB logisk partition har nåtts kan du inte skriva mer data till den logiska partitionen. Därför rekommenderar vi att du gör om ditt program med en annan partitionsnyckel som en långsiktig lösning.

För att ge tid för detta kan du begära en tillfällig ökning av den logiska partitionsnyckelgränsen för ditt befintliga program. Skicka ett Azure Support-ärende och välj kvottyp Tillfällig ökning av containerns storlek på den logiska partitionsnyckeln. Observera att detta är avsett som en tillfällig åtgärd och rekommenderas inte som en långsiktig lösning, eftersom SLA-garantier inte uppfylls när gränsen ökas. Om du vill ta bort konfigurationen skapar du ett supportärende och väljer kvottypen Återställ containerns nyckelstorlek för logisk partition till standardvärdet (20 GB) . Detta kan göras när du antingen har tagit bort data för att passa den logiska partitionsgränsen på 20 GB eller om du har återskapat programmet med en annan partitionsnyckel.

Du kan läsa mer om metodtips för att hantera arbetsbelastningar med partitionsnycklar som behöver högre gränser för lagring eller dataflöde i Skapa en syntetisk partitionsnyckel.

Nästa steg