Waarschuwingen maken om te controleren of de opslag voor een logische partitiesleutel 20 GB nadert

VAN TOEPASSING OP: Nosql MongoDB Cassandra Gremlin Tabel

Azure Cosmos DB dwingt een maximale grootte van de logische partitiesleutel af van 20 GB. Als u bijvoorbeeld een container/verzameling hebt die is gepartitioneerd op userId, kunnen de gegevens in de logische partitie Alice maximaal 20 GB aan gegevens opslaan.

U kunt waarschuwingen gebruiken om te controleren of u logische partitiesleutels hebt die de limiet van 20 GB voor logische partities naderen. Waarschuwingen kunnen u een melding in de vorm van een e-mailbericht sturen of een actie uitvoeren, zoals een Azure-functie of logische app, wanneer de voorwaarde wordt geactiveerd.

In dit artikel maken we een waarschuwing die wordt geactiveerd als de opslag voor een logische partitiesleutel 70% van de limiet van 20 GB overschrijdt (heeft meer dan 14 GB opslagruimte). U kunt waarschuwingen instellen vanuit het deelvenster Waarschuwingen in een specifiek Azure Cosmos DB-account of de Azure Monitor-service in de Azure Portal. Beide interfaces bieden dezelfde opties. In dit artikel wordt beschreven hoe u de waarschuwing instelt vanuit Azure Monitor.

Vereisten

We gebruiken gegevens uit de logboekcategorie PartitionKeyStatistics in Diagnostische logboeken om onze waarschuwing te maken. Diagnostische logboeken zijn een opt-in-functie, dus u moet deze inschakelen voordat u doorgaat. In ons voorbeeld gebruiken we de aanbevolen optie ResourceSpecifieke logboeken.

Volg de instructies in Azure Cosmos DB-gegevens bewaken met behulp van diagnostische instellingen in Azure om het volgende te controleren:

  • Diagnostische logboeken zijn ingeschakeld voor de Azure Cosmos DB-account(s) die u wilt bewaken
  • U hebt de verzameling van de logboekcategorie PartitionKeyStatistics geconfigureerd
  • De diagnostische logboeken worden verzonden naar een Log Analytics-werkruimte

De waarschuwing maken

  1. Meld u aan bij de Azure Portal.

  2. Selecteer Monitor in de linkernavigatiebalk en selecteer Waarschuwingen.

  3. Selecteer de knop Nieuwe waarschuwingsregel om het deelvenster Waarschuwingsregel maken te openen.

  4. Vul de sectie Bereik in:

    • Open het deelvenster Resource selecteren en configureer het volgende:

    • Kies de naam van uw abonnement .

    • Selecteer Azure Cosmos DB-accounts als resourcetype.

    • De locatie van uw Azure Cosmos DB-account.

    • Nadat u de details hebt ingevuld, wordt een lijst met Azure Cosmos DB-accounts in het geselecteerde bereik weergegeven. Kies het item waarvoor u waarschuwingen wilt configureren en selecteer Gereed.

  5. Vul de sectie Voorwaarde in:

    • Open het deelvenster Voorwaarde selecteren om de pagina Een signaal selecteren te openen en configureer het volgende:

    • Selecteer Logboek als signaaltype.

    • Selecteer Log Analytics voor de service Bewaken.

    • Selecteer Aangepast zoeken in logboeken voor de signaalnaam.

    • Voeg in de queryeditor de onderstaande query toe. U kunt de query uitvoeren om een voorbeeld van het resultaat te bekijken.

    Notitie

    Het is prima als de query momenteel geen resultaten retourneert. De PartitionKeyStatistics-logboeken tonen alleen gegevens als er logische partitiesleutels met een aanzienlijke opslaggrootte zijn, dus als er geen resultaten worden geretourneerd, betekent dit dat er geen dergelijke sleutels zijn. Als en wanneer dergelijke sleutels in de toekomst worden weergegeven, wordt de waarschuwing dan geactiveerd.

    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
    
    • Selecteer Waarschuwing doorgaan met bewerken.

    • In de sectie Meting:

      • Selecteer utilizationOf20GBLogicalPartition bij Measure.

      • Selecteer Maximum bij Aggregatietype.

      • Selecteer de gewenste aggregatiegranulariteit op basis van uw vereisten. In ons voorbeeld selecteren we 1 uur. Dit betekent dat de waarschuwing de opslaggrootte van de logische partitie berekent op basis van de hoogste opslagwaarde in het uur.

    • In de sectie Splitsen op dimensies:

      • Voeg de volgende zes dimensies toe: AccountName, DatabaseName, CollectionName, _ResourceId, PartitionKey, SizeKb. Dit zorgt ervoor dat wanneer de waarschuwing wordt geactiveerd, u het specifieke Azure Cosmos DB-account, de database, de verzameling en de partitiesleutel kunt identificeren die de waarschuwing hebben geactiveerd.

      • Voor de dimensie GrootteKb selecteert u Alle huidige en toekomstige waarden selecteren als dimensiewaarden.

      • Voor alle andere dimensies:

        • Als u alleen een specifiek Azure Cosmos DB-account, -database, -verzameling of -partitiesleutel wilt bewaken, selecteert u de specifieke waarde of Aangepaste waarde toevoegen als de waarde momenteel niet in de vervolgkeuzelijst wordt weergegeven.

        • Selecteer anders Alle huidige en toekomstige waarden selecteren. Als uw Azure Cosmos DB-account bijvoorbeeld momenteel twee databases en vijf verzamelingen heeft, zorgt het selecteren van alle huidige waarden en functiewaarden voor de dimensie Database en CollectionName ervoor dat de waarschuwing van toepassing is op alle bestaande databases en verzamelingen, evenals op alle bestaande databases en verzamelingen die u in de toekomst kunt maken.

    • In de sectie Waarschuwingslogica:

      • Selecteer Groter dan voor Operator.

      • Selecteer de gewenste drempelwaarde. Op basis van hoe we de query hebben geschreven, is een geldige drempelwaarde een getal tussen 0 en 1 (inclusief). In ons voorbeeld willen we de waarschuwing activeren als een logische partitiesleutel 70% van de toegestane opslag bereikt, dus voeren we 0,7 in. U kunt dit aantal afstemmen op basis van uw vereisten.

      • Selecteer de gewenste frequentie van de evaluatie op basis van uw vereisten. In ons voorbeeld selecteren we 1 uur. Houd er rekening mee dat deze waarde kleiner dan of gelijk moet zijn aan de evaluatieperiode van de waarschuwing.

      Na het voltooien van stap 5 ziet de sectie Voorwaarde eruit zoals in het onderstaande voorbeeld.

      Schermopname van een voorbeeldconfiguratie voor signaallogica

  6. Vul de sectie Acties in :

    • Selecteer een bestaande actiegroep of maak een nieuwe actiegroep. Met een actiegroep kunt u de actie(s) definiĆ«ren die moeten worden uitgevoerd wanneer de waarschuwing wordt geactiveerd. In dit voorbeeld maakt u een nieuwe actiegroep om een e-mailmelding te ontvangen wanneer de waarschuwing wordt geactiveerd. Open het deelvenster Actiegroep maken .

    • In de sectie Basisinformatie :

      • Kies het abonnement en de resourcegroep waarin deze actiegroep wordt gemaakt.

      • Naam van actiegroep : de naam van de actiegroep moet uniek zijn binnen een resourcegroep.

      • Weergavenaam : deze waarde is opgenomen in e-mail- en sms-meldingen om te bepalen welke actiegroep de bron van de melding was.

    • In de sectie Meldingen :

      • Geef een naam op voor uw melding.

      • Selecteer Email/sms-bericht/push-/spraak als meldingstype en voer uw e-mail, sms, pushmelding of spraakgegevens in.

    • Optioneel: in de sectie Acties kunt u een actie selecteren die wordt uitgevoerd, zoals een Azure-functie of logische app in de sectie Acties .

    • Selecteer Beoordelen en maken om de actiegroep te maken.

  7. Vul de sectie Details in:

    • Definieer een naam voor de waarschuwing, geef een optionele beschrijving, het ernstniveau van de waarschuwing op en kies of u de regel wilt inschakelen bij het maken van de regel.
    • Selecteer Beoordelen en maken en selecteer Maken om het maken van de waarschuwing te voltooien.

Nadat de waarschuwing is gemaakt, is deze binnen 10 minuten actief.

Voorbeeldwaarschuwing

Ga als volgende te werk om uw waarschuwingen in de Azure Portal weer te geven:

  1. Meld u aan bij de Azure Portal.

  2. Selecteer Monitor in de linkernavigatiebalk en selecteer Waarschuwingen.

Wanneer de waarschuwing wordt geactiveerd, bevat deze:

  • Naam van databaseaccount
  • Databasenaam
  • Naam van verzameling
  • Logische partitiesleutel
  • Opslag in kB van de logische partitiesleutel
  • Gebruik van de limiet van 20 GB

In de onderstaande waarschuwing zien we bijvoorbeeld dat de logische partitie van ContosoTenant 0,78 van de opslaglimiet van 20 GB voor logische partities heeft bereikt, met 16 GB aan gegevens in een bepaalde database en verzameling.

Schermopname van een waarschuwing die is geactiveerd wanneer de grootte van de logische partitiesleutel de drempelwaarde overschrijdt

Herstelstappen

Wanneer de limiet voor de logische partitiegrootte van 20 GB is bereikt, kunt u geen gegevens meer naar die logische partitie schrijven. Als gevolg hiervan is het raadzaam om uw toepassing opnieuw te ontwerpen met een andere partitiesleutel als een oplossing voor de lange termijn.

Als u hier tijd voor wilt geven, kunt u een tijdelijke verhoging van de limiet voor logische partitiesleutels voor uw bestaande toepassing aanvragen. Dien een ondersteuning voor Azure ticket in en selecteer quotumtype Tijdelijke verhoging van de grootte van de logische partitiesleutel van de container. Houd er rekening mee dat dit is bedoeld als een tijdelijke beperking en niet wordt aanbevolen als een langetermijnoplossing, omdat SLA-garanties niet worden gehonoreerd wanneer de limiet wordt verhoogd. Als u de configuratie wilt verwijderen, moet u een ondersteuningsticket indienen en een quotumtype selecteren De grootte van de logische partitiesleutel van de container herstellen naar de standaardgrootte (20 GB) . Dit kan worden gedaan nadat u gegevens hebt verwijderd om te voldoen aan de limiet voor logische partities van 20 GB of nadat u uw toepassing opnieuw hebt ingericht met een andere partitiesleutel.

Raadpleeg Een synthetische partitiesleutel maken voor meer informatie over best practices voor het beheren van workloads met partitiesleutels waarvoor hogere limieten voor opslag of doorvoer zijn vereist.

Volgende stappen