Azure Cosmos DB controleren

VAN TOEPASSING OP: SQL-API Cassandra-API Gremlin-API Table-API Azure Cosmos DB-API voor MongoDB

Wanneer u kritieke toepassingen en bedrijfsprocessen hebt die afhankelijk zijn van Azure-resources, wilt u deze resources controleren op beschikbaarheid, prestaties en werking. In dit artikel worden de bewakingsgegevens beschreven die worden gegenereerd met Azure Cosmos-databases. Daarnaast wordt uitgelegd hoe u de functies van Azure Monitor kunt gebruiken om de gegevens te analyseren, en op basis van deze gegevens waarschuwingen kunt verzenden.

U kunt uw gegevens bewaken met metrische gegevens aan de clientzijde en serverzijde. Wanneer u metrische gegevens aan de serverzijde gebruikt, kunt u de gegevens die zijn opgeslagen in Azure Cosmos DB met de volgende opties:

  • Bewaken vanuit Azure Cosmos DB portal: U kunt bewaken met de metrische gegevens die beschikbaar zijn op het tabblad Metrische gegevens van het Azure Cosmos-account. De metrische gegevens op dit tabblad omvatten metrische gegevens over doorvoer, opslag, beschikbaarheid, latentie, consistentie en metrische gegevens op systeemniveau. Deze metrische gegevens hebben standaard een bewaarperiode van 7 dagen. Zie de sectie Bewakingsgegevens die zijn verzameld van Azure Cosmos DB van dit artikel voor meer informatie.

  • Bewaken met metrische gegevens in Azure Monitor: U kunt de metrische gegevens van uw Azure Cosmos-account bewaken en dashboards maken op basis van Azure Monitor. Azure Monitor standaard de Azure Cosmos DB verzamelt, hoeft u niets expliciet te configureren. Deze metrische gegevens worden verzameld met een granulariteit van één minuut. De granulariteit kan variëren op basis van de metrische gegevens die u kiest. Deze metrische gegevens hebben standaard een bewaarperiode van 30 dagen. De meeste metrische gegevens die beschikbaar zijn via de vorige opties, zijn ook beschikbaar in deze metrische gegevens. De dimensiewaarden voor de metrische gegevens, zoals containernaam, zijn niet-case-gevoelig. U moet dus niet-casegevoelige vergelijking gebruiken bij het maken van tekenreeksvergelijkingen op deze dimensiewaarden. Zie de sectie Metrische gegevens analyseren van dit artikel voor meer informatie.

  • Bewaken met diagnostische logboeken in Azure Monitor: U kunt de logboeken van uw Azure Cosmos-account bewaken en dashboards maken op Azure Monitor. Telemetrie zoals gebeurtenissen en traceringen die zich voordoen bij een tweede granulariteit, worden opgeslagen als logboeken. Als de doorvoer van een container bijvoorbeeld wordt gewijzigd, worden de eigenschappen van een Cosmos-account gewijzigd. Deze gebeurtenissen worden in de logboeken vastleggen. U kunt deze logboeken analyseren door query's uit te uitvoeren op de verzamelde gegevens. Zie de sectie Logboekgegevens analyseren van dit artikel voor meer informatie.

  • Programmatisch bewaken met SDK's: U kunt uw Azure Cosmos-account programmatisch bewaken met behulp van de .NET-, Java-, Python-, Node.js-SDK's en de headers in REST API. Zie de sectie Bewaking Azure Cosmos DB programmatisch van dit artikel voor meer informatie.

In de volgende afbeelding ziet u verschillende opties die beschikbaar zijn voor het controleren Azure Cosmos DB account via Azure Portal:

Bewakingsopties die beschikbaar zijn in Azure Portal

Wanneer u Azure Cosmos DB, kunt u aan de clientzijde de details verzamelen voor kosten van aanvragen, activiteits-id, uitzonderings-/stack-tracegegevens, HTTP-status-/substatuscode, diagnostische tekenreeks om eventuele problemen op te sporen. Deze informatie is ook vereist als u contact moet maken met het Azure Cosmos DB ondersteuningsteam.

Overzicht van bewaken

De pagina Overzicht in de Azure Portal voor elk Azure Cosmos DB-account bevat een korte weergave van het resourcegebruik, zoals het totale aantal aanvragen, aanvragen die hebben geleid tot een specifieke HTTP-statuscode en facturering per uur. Deze informatie is handig, maar slechts een kleine hoeveelheid bewakingsgegevens is beschikbaar in dit deelvenster. Sommige van deze gegevens worden automatisch verzameld en zijn beschikbaar voor analyse zodra u de resource maakt. U kunt aanvullende typen gegevensverzameling inschakelen met enige configuratie.

Wat is Azure Monitor?

Azure Cosmos DB maakt bewakingsgegevens met behulp van Azure Monitor. Dit is een volledige stack monitoring-service in Azure die een volledige set functies biedt voor het bewaken van uw Azure-resources naast resources in andere clouds en on-premises.

Als u nog niet bekend bent met het bewaken van Azure-services, begint u met het artikel Azure-resources bewaken met Azure Monitor waarin de volgende concepten worden beschreven:

  • Wat is Azure Monitor?
  • Kosten die zijn gekoppeld aan bewaking
  • Bewakingsgegevens die zijn verzameld in Azure
  • Gegevensverzameling configureren
  • Standaardhulpprogramma's in Azure voor het analyseren en waarschuwen van bewakingsgegevens

De volgende secties zijn gebaseerd op dit artikel door de specifieke gegevens te beschrijven die zijn verzameld van Azure Cosmos DB en voorbeelden te geven voor het configureren van gegevensverzameling en het analyseren van deze gegevens met Azure-hulpprogramma's.

Cosmos DB verkrijgen

Cosmos DB inzichten is gebaseerd op de werkmappenfunctie van Azure Monitor en maakt gebruik van dezelfde bewakingsgegevens die zijn verzameld voor Azure Cosmos DB die worden beschreven in de onderstaande secties. Gebruik Azure Monitor voor een overzicht van de algehele prestaties, fouten, capaciteit en operationele status van al uw Azure Cosmos DB-resources in een uniforme interactieve ervaring en maak gebruik van de andere functies van Azure Monitor voor gedetailleerde analyse en waarschuwingen. Zie het artikel Explore Cosmos DB insights (Inzichten verkennen) voor meer informatie.

Notitie

Wanneer u containers maakt, moet u ervoor zorgen dat u niet twee containers met dezelfde naam maakt, maar een ander casing- of casing-patroon. Dat komt doordat sommige onderdelen van het Azure-platform niet casegevoelig zijn en dit kan leiden tot verwarring/een aaneenrijding van telemetrie en acties op containers met dergelijke namen.

Bewakingsgegevens

Azure Cosmos DB verzamelt dezelfde soorten bewakingsgegevens als andere Azure-resources die worden beschreven in Gegevens van Azure-resources bewaken. Zie Azure Cosmos DB naslaginformatie over bewakingsgegevens voor een gedetailleerde referentie van de logboeken en metrische gegevens die zijn gemaakt door Azure Cosmos DB.

De pagina Overzicht in de Azure Portal voor elke Azure Cosmos-database bevat een korte weergave van het databasegebruik, inclusief het aanvraag- en factureringsgebruik per uur. Dit is nuttige informatie, maar slechts een klein deel van de beschikbare bewakingsgegevens. Sommige van deze gegevens worden automatisch verzameld en beschikbaar voor analyse zodra u de database maakt, terwijl u aanvullende gegevensverzameling met een bepaalde configuratie kunt inschakelen.

Overzichtspagina

Verzameling en routering

Metrische gegevens van het platform en het activiteitenlogboek worden automatisch verzameld en opgeslagen, maar kunnen worden doorgeleid naar andere locaties met behulp van een diagnostische instelling.

Resourcelogboeken worden niet verzameld en opgeslagen totdat u een diagnostische instelling maakt en ze doorrouteerd naar een of meer locaties.

Zie Diagnostische instelling maken voor het verzamelen van platformlogboeken en metrische gegevens in Azure voor het gedetailleerde proces voor het maken van een diagnostische instelling met behulp van de Azure Portal en enkele voorbeelden van diagnostische query's. Wanneer u een diagnostische instelling maakt, geeft u op welke categorieën logboeken moeten worden verzameld.

De metrische gegevens en logboeken die u kunt verzamelen, worden in de volgende secties besproken.

Metrische gegevens analyseren

Azure Cosmos DB biedt een aangepaste ervaring voor het werken met metrische gegevens. U kunt metrische gegevens voor gegevens Azure Cosmos DB met metrische gegevens van andere Azure-services met behulp van Metrics Explorer door Metrische gegevens te openen in Azure Monitor menu. Zie Aan de slag met Azure Metrics Explorer voor meer informatie over het gebruik van dit hulpprogramma. U kunt ook kijken hoe u de latentie aan de serverzijde,het gebruik van aanvraageenheden en het gebruik van genormaliseerde aanvraageenheden voor uw Azure Cosmos DB bewaken.

Zie het artikel Monitoring Azure Cosmos DB data reference metrics (Metrische gegevens voor bewakingsgegevens en metrische gegevens controleren) Azure Cosmos DB een lijst met platformmetrieken die voor deze gegevens zijn verzameld.

Alle metrische gegevens voor Azure Cosmos DB staan in de naamruimte Cosmos DB standaard metrische gegevens. U kunt de volgende dimensies met deze metrische gegevens gebruiken bij het toevoegen van een filter aan een grafiek:

  • NaamVerzameling
  • DatabaseName
  • OperationType
  • Region
  • StatusCode

Ter referentie ziet u een lijst met alle metrische resourcegegevens die worden ondersteund in Azure Monitor.

Metrische gegevens op bewerkingsniveau weergeven voor Azure Cosmos DB

  1. Meld u aan bij de Azure-portal.

  2. Selecteer Controleren in de navigatiebalk aan de linkerkant en selecteer Metrische gegevens.

    Deelvenster Metrische gegevens in Azure Monitor

  3. Kies in het deelvenster > een resourcegroep > het vereiste abonnement en de resourcegroep. Selecteer voor Resourcetype de optie Azure Cosmos DB accounts, kies een van uw bestaande Azure Cosmos-accounts en selecteer Toepassen.

    Kies een Cosmos DB account om metrische gegevens weer te geven

  4. Vervolgens kunt u een metrische gegevens selecteren in de lijst met beschikbare metrische gegevens. U kunt metrische gegevens selecteren die specifiek zijn voor aanvraageenheden, opslag, latentie, beschikbaarheid, Cassandra en andere. Zie het artikel Metrische gegevens per categorie voor meer informatie over alle beschikbare metrische gegevens in deze lijst. In dit voorbeeld selecteren we Aanvraageenheden en Gem als de aggregatiewaarde.

    Naast deze details kunt u ook het tijdsbereik en de tijdgranulatie van de metrische gegevens selecteren. U kunt maximaal metrische gegevens weergeven voor de afgelopen 30 dagen. Nadat u het filter hebt toegepast, wordt er een grafiek weergegeven op basis van uw filter. U kunt het gemiddelde aantal verbruikte aanvraageenheden per minuut voor de geselecteerde periode bekijken.

    Kies een metriek uit de Azure Portal

Filters toevoegen aan metrische gegevens

U kunt ook metrische gegevens en de grafiek filteren die wordt weergegeven door een specifieke CollectionName, DatabaseName, OperationType, Region en StatusCode. Als u de metrische gegevens wilt filteren, selecteert u Filter toevoegen, kiest u de vereiste eigenschap, zoals OperationType, en selecteert u een waarde zoals Query. In de grafiek worden vervolgens de aanvraageenheden weergegeven die zijn verbruikt voor de querybewerking voor de geselecteerde periode. De bewerkingen die via de opgeslagen procedure worden uitgevoerd, worden niet geregistreerd en zijn dus niet beschikbaar onder de metrische gegevens OperationType.

Een filter toevoegen om de metrische granulariteit te selecteren

U kunt metrische gegevens groeperen met behulp van de optie Splitsen toepassen. U kunt bijvoorbeeld de aanvraageenheden per bewerkingstype groepeert en de grafiek voor alle bewerkingen tegelijk weergeven, zoals wordt weergegeven in de volgende afbeelding:

Splitsingsfilter toepassen toevoegen

Logboeken analyseren

Gegevens in Azure Monitor logboeken worden opgeslagen in tabellen waarin elke tabel een eigen set unieke eigenschappen heeft.

Alle resourcelogboeken in Azure Monitor dezelfde velden gevolgd door servicespecifieke velden. Het algemene schema wordt beschreven in Azure Monitor resourcelogboekschema. Zie Monitoring Azure Cosmos DB data reference (Bewaking van gegevensreferenties) Azure Cosmos DB een lijst met de typen resourcelogboekendie Azure Cosmos DB verzamelen.

Het activiteitenlogboek is een aanmeldingsplatform van Azure dat inzicht biedt in gebeurtenissen op abonnementsniveau. U kunt deze onafhankelijk weergeven of doorseen naar Azure Monitor Logboeken, waar u veel complexere query's kunt uitvoeren met behulp van Log Analytics.

Azure Cosmos DB slaat gegevens op in de volgende tabellen.

Tabel Beschrijving
AzureDiagnostics Algemene tabel die door meerdere services wordt gebruikt voor het opslaan van resourcelogboeken. Resourcelogboeken van Azure Cosmos DB kunnen worden geïdentificeerd met MICROSOFT.DOCUMENTDB .
AzureActivity Algemene tabel die alle records uit het activiteitenlogboek op slaat.

Kusto-voorbeeldquery's

Belangrijk

Wanneer u Logboeken selecteert in Azure Cosmos DB menu, wordt Log Analytics geopend met het querybereik ingesteld op het huidige Azure Cosmos DB account. Dit betekent dat logboekquery's alleen gegevens uit die resource bevatten. Als u een query wilt uitvoeren die gegevens uit andere accounts of gegevens van andere Azure-services bevat, selecteert u Logboeken in het Azure Monitor menu. Zie Logboekquerybereik en tijdsbereik in Azure Monitor Log Analytics voor meer informatie.

Hier volgen enkele query's die u kunt invoeren in de zoekbalk voor zoeken in logboeken om u te helpen uw Azure Cosmos-resources te bewaken. Deze query's werken met de nieuwe taal.

  • Als u een query wilt uitvoeren voor alle diagnostische logboeken van Azure Cosmos DB voor een opgegeven periode:

    AzureDiagnostics 
    | where ResourceProvider=="Microsoft.DocumentDb" and Category=="DataPlaneRequests"
    
    
  • Als u een query wilt uitvoeren voor alle bewerkingen, gegroepeerd op resource:

    AzureActivity 
    | where ResourceProvider=="Microsoft.DocumentDb" and Category=="DataPlaneRequests" 
    | summarize count() by Resource
    
    
  • Als u alle gebruikersactiviteiten wilt opvragen, gegroepeerd op resource:

    AzureActivity 
    | where Caller == "test@company.com" and ResourceProvider=="Microsoft.DocumentDb" and Category=="DataPlaneRequests" 
    | summarize count() by Resource
    

Waarschuwingen

Azure Monitor waarschuwingen worden u proactief op de hoogte gesteld wanneer er belangrijke voorwaarden in uw bewakingsgegevens worden gevonden. Ze bieden u de mogelijkheid om problemen in uw systeem te identificeren en op te lossen voordat uw klanten deze merken. U kunt waarschuwingen instellen voor metrischegegevens, logboekenen het activiteitenlogboek. Verschillende soorten waarschuwingen hebben voor- en nadelen

De volgende tabel bevat bijvoorbeeld enkele waarschuwingsregels voor uw resources. U vindt een gedetailleerde lijst met waarschuwingsregels in de Azure Portal. Zie het artikel Waarschuwingen configureren voor meer informatie.

Waarschuwingstype Voorwaarde Description
Snelheidsbeperking voor aanvraageenheden (waarschuwing voor metrische gegevens) Dimensienaam: StatusCode, Operator: Is gelijk aan, Dimensiewaarden: 429 Waarschuwt als de container of database de inrichtende doorvoerlimiet heeft overschreden.
Regio mislukt Operator: Groter dan, Aggregatietype: Aantal, Drempelwaarde: 1 Wanneer er een failed over één regio wordt overgenomen. Deze waarschuwing is handig als u automatische failover niet hebt ingeschakeld.
Sleutels rouleren (waarschuwing voor activiteitenlogboek) Gebeurtenisniveau: Informatief, Status: gestart Waarschuwt wanneer de accountsleutels worden geroteerd. U kunt uw toepassing bijwerken met de nieuwe sleutels.

Programmatisch Azure Cosmos DB bewaken

De metrische gegevens op accountniveau die beschikbaar zijn in de portal, zoals het gebruik van accountopslag en het totale aantal aanvragen, zijn niet beschikbaar via de SQL-API's. U kunt echter gebruiksgegevens ophalen op verzamelingsniveau met behulp van de SQL-API's. Ga als volgt te werk om gegevens op verzamelingsniveau op te halen:

Voor toegang tot aanvullende metrische gegevens gebruikt u de Azure Monitor SDK. Beschikbare metrische definities kunnen worden opgehaald door het volgende aan te roepen:

https://management.azure.com/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.DocumentDb/databaseAccounts/{DocumentDBAccountName}/providers/microsoft.insights/metricDefinitions?api-version=2018-01-01

Gebruik de volgende indeling om afzonderlijke metrische gegevens op te halen:

https://management.azure.com/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.DocumentDb/databaseAccounts/{DocumentDBAccountName}/providers/microsoft.insights/metrics?timespan={StartTime}/{EndTime}&interval={AggregationInterval}&metricnames={MetricName}&aggregation={AggregationType}&`$filter={Filter}&api-version=2018-01-01

Zie het artikel Azure Monitoring REST API voor meer informatie.

Volgende stappen