Share via


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

VAN TOEPASSING OP: NoSQL MongoDB Cassandra Gremlin Tafel

Azure Cosmos DB dwingt een maximale grootte van een logische partitiesleutel van 20 GB af. Als u bijvoorbeeld een container/verzameling hebt gepartitioneerd met 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 sturen in de vorm van een e-mailbericht 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 hoger is dan 70% van de limiet van 20 GB (meer dan 14 GB aan opslagruimte). U kunt waarschuwingen instellen vanuit het deelvenster Waarschuwingen in een specifiek Azure Cosmos DB-account of de Azure Monitor-service in Azure Portal. Beide interfaces bieden dezelfde opties. In dit artikel leest u 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 is 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 ervoor te zorgen:

  • Diagnostische logboeken zijn ingeschakeld voor de Azure Cosmos DB-account(s) die u wilt bewaken
  • U hebt de verzameling van de logcategorie 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 voor het 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 de optie 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 voor het signaaltype.

    • Selecteer Log Analytics voor de Monitor-service.

    • Selecteer Aangepaste logboekzoekopdracht voor de signal-naam.

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

    Notitie

    Het is perfect als de query momenteel geen resultaten retourneert. In de logboeken PartitionKeyStatistics worden alleen gegevens weergegeven 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 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:

      • SelecteertilizationOf20GBLogicalPartition voor Meting.

      • Selecteer Maximum voor het 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 met behulp 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 heeft geactiveerd.

      • Voor de maatlijn SizeKb selecteert u alle huidige en toekomstige waarden selecteren als de 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 wordt weergegeven in de vervolgkeuzelijst.

        • Selecteer anders alle huidige en toekomstige waarden selecteren. Als uw Azure Cosmos DB-account momenteel bijvoorbeeld twee databases en vijf verzamelingen heeft, zorgt het selecteren van alle huidige 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 nummer afstemmen op basis van uw vereisten.

      • Selecteer de gewenste frequentie van 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 Basisbeginselen :

      • 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 E-mail/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 op, het ernstniveau van de waarschuwing 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 u de waarschuwing hebt gemaakt, wordt deze binnen 10 minuten actief.

Voorbeeldwaarschuwing

Ga als volgende te werk om uw waarschuwingen te bekijken in Azure Portal:

  1. Meld u aan bij de Azure Portal.

  2. Selecteer Monitor in de linkernavigatiebalk en selecteer Waarschuwingen.

Wanneer de waarschuwing wordt geactiveerd, bevat deze het volgende:

  • Databaseaccountnaam
  • 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 voor logische partities van 20 GB heeft bereikt, met 16 GB aan gegevens in een bepaalde database en verzameling.

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

Herstelstappen

Wanneer de limiet voor de grootte van logische partities 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.

Om dit tijd te geven, kunt u een tijdelijke verhoging aanvragen van de limiet voor de logische partitiesleutel voor uw bestaande toepassing. Dien een ondersteuning voor Azure-ticket in en selecteer het quotumtype Tijdelijke toename in de grootte van de logische partitiesleutel van de container. Houd er rekening mee dat dit is bedoeld als tijdelijke beperking en niet wordt aanbevolen als een oplossing op lange termijn, omdat SLA-garanties niet worden uitgevoerd 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 aan de limiet voor logische partities van 20 GB te voldoen of uw toepassing opnieuw hebt gearchitecteerd 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