Freigeben über


Überwachen von Azure Cosmos DB für MongoDB vCore-Diagnoseprotokolle mit Azure Monitor

GILT FÜR: MongoDB-vCore

Die Diagnoseprotokolle von Azure sind unerlässlich, um Azure-Ressourcenprotokolle für ein Azure Cosmos DB für MongoDB vCore Konto zu erfassen. Diese Protokolle enthalten detaillierte und häufige Einblicke in die Vorgänge mit Ressourcen mit dem Konto.

Wichtig

Dieses Feature ist nicht mit M25, M30, oder Free-Tarif-SKUs verfügbar.

Voraussetzungen

Erstellen von Diagnoseeinstellungen

Plattformmetriken und Aktivitätsprotokolle werden automatisch erfasst. Um Ressourcenprotokolle zu sammeln und extern von Azure Monitor weiterzuleiten, müssen Sie eine Diagnoseeinstellung einrichten. Weitere Informationen finden Sie unter Erstellen von Diagnoseeinstellungen in Azure Monitor.

Verwalten der Diagnoseeinstellungen

Manchmal müssen Sie Einstellungen verwalten, indem Sie sie suchen oder entfernen. Die Befehlsgruppe az monitor diagnostic-settings enthält Unterbefehle für die Verwaltung von Diagnoseeinstellungen.

  1. Listet alle Diagnoseeinstellungen auf, die der API für MongoDB vCore-Cluster zugeordnet sind.

    az monitor diagnostic-settings list \
        --resource-group $resourceGroupName \
        --resource $clusterResourceId
    
  2. Löscht eine bestimmte Einstellung mit der zugeordneten Ressource und dem Namen der Einstellung.

    az monitor diagnostic-settings delete \
        --resource-group $resourceGroupName \
        --name $diagnosticSettingName \
        --resource $clusterResourceId
    

Verwenden von erweiterter Diagnoseabfragen

Verwenden Sie diese ressourcenspezifischen Abfragen, um allgemeine Problembehandlungsrecherche in einer API für MongoDB vCore-Cluster durchzuführen.

Wichtig

In diesem Abschnitt wird davon ausgegangen, dass Sie einen Log Analytics-Arbeitsbereich mit ressourcenspezifischen Protokollen verwenden.

  1. Navigieren Sie zum Abschnitt Protokolle der API für MongoDB vCore-Cluster. Sehen Sie sich die Liste der Beispielabfragen an.

    Screenshot der Diagnoseabfrageliste der Beispielabfragen.

  2. Führen Sie diese Abfrage aus, um die Anzahl der fehlgeschlagenen Anfragen an die API für MongoDB-vCore zu zählen, die nach Fehlercode gruppiert sind.

    VCoreMongoRequests
    // Time range filter:  | where TimeGenerated between (StartTime .. EndTime)
    // Resource id filter: | where _ResourceId == "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name"
    | where ErrorCode != 0
    | summarize count() by bin(TimeGenerated, 5m), ErrorCode=tostring(ErrorCode)
    
  3. Führen Sie diese Abfrage aus, um die Anfragen an die API für MongoDB vCore P99 Laufzeitdauer nach Vorgangsname abzurufen.

    // Mongo vCore requests P99 duration by operation 
    // Mongo vCore requests P99 runtime duration by operation name. 
    VCoreMongoRequests
    // Time range filter:  | where TimeGenerated between (StartTime .. EndTime)
    // Resource id filter: | where _ResourceId == "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name"
    | summarize percentile(DurationMs, 99) by bin(TimeGenerated, 1h), OperationName
    
  4. Führen Sie diese Abfrage aus, um die Anzahl der Anfragen an die API für MongoDB-vCore abzurufen, die nach gesamter Laufzeitdauergruppiert sind.

    // Mongo vCore requests binned by duration 
    // Count of Mongo vCore requests binned by total runtime duration. 
    VCoreMongoRequests
    // Time range filter:  | where TimeGenerated between (StartTime .. EndTime)
    // Resource id filter: | where _ResourceId == "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name"
    | project TimeGenerated, DurationBin=tostring(bin(DurationMs, 5))
    | summarize count() by bin(TimeGenerated, 1m), tostring(DurationBin)
    
  5. Führen Sie diese Abfrage aus, um die Anzahl der Anfragen an die API für MongoDB-vCore-Anforderungen nach Benutzer-Agent abzurufen.

    // Mongo vCore requests by user agent 
    // Count of Mongo vCore requests by user agent. 
    VCoreMongoRequests
    // Time range filter:  | where TimeGenerated between (StartTime .. EndTime)
    // Resource id filter: | where _ResourceId == "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name"
    | summarize count() by bin(TimeGenerated, 1h), UserAgent