Udostępnij za pośrednictwem


Monitorowanie dzienników diagnostycznych rdzeni wirtualnych usługi Azure Cosmos DB dla bazy danych MongoDB przy użyciu usługi Azure Monitor

DOTYCZY: Rdzenie wirtualne bazy danych MongoDB

Dzienniki diagnostyczne platformy Azure są niezbędne do przechwytywania dzienników zasobów platformy Azure dla konta rdzeni wirtualnych usługi Azure Cosmos DB dla bazy danych MongoDB. Dzienniki te udostępniają szczegółowe i częste szczegółowe informacje na temat operacji dotyczących zasobów przy użyciu konta.

Ważne

Ta funkcja nie jest dostępna w jednostkach M25SKU warstwy , M30lub w warstwie Bezpłatna.

Wymagania wstępne

  • Istniejący klaster usługi Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB.
  • Istniejący obszar roboczy usługi Log Analytics lub konto usługi Azure Storage.

Tworzenie ustawień diagnostycznych

Metryki platformy i dzienniki aktywności są zbierane automatycznie. Aby zbierać dzienniki zasobów i kierować je zewnętrznie z usługi Azure Monitor, należy ustanowić ustawienie diagnostyczne. Aby dowiedzieć się, jak to zrobić, zobacz Tworzenie ustawień diagnostycznych w usłudze Azure Monitor.

Zarządzanie ustawieniami diagnostycznymi

Czasami trzeba zarządzać ustawieniami, wyszukując je lub usuwając. Grupa az monitor diagnostic-settings poleceń zawiera polecenia podrzędne do zarządzania ustawieniami diagnostycznymi.

  1. Wyświetl listę wszystkich ustawień diagnostycznych skojarzonych z interfejsem API dla klastra rdzeni wirtualnych bazy danych MongoDB.

    az monitor diagnostic-settings list \
        --resource-group $resourceGroupName \
        --resource $clusterResourceId
    
  2. Usuń określone ustawienie przy użyciu skojarzonego zasobu i nazwy ustawienia.

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

Korzystanie z zaawansowanych zapytań diagnostycznych

Użyj tych zapytań specyficznych dla zasobów, aby przeprowadzić typowe badania dotyczące rozwiązywania problemów w klastrze interfejsu API dla rdzeni wirtualnych bazy danych MongoDB.

Ważne

W tej sekcji założono, że używasz obszaru roboczego usługi Log Analytics z dziennikami specyficznymi dla zasobów.

  1. Przejdź do sekcji Dzienniki interfejsu API dla klastra rdzeni wirtualnych bazy danych MongoDB. Obserwuj listę przykładowych zapytań.

    Zrzut ekranu przedstawiający listę zapytań diagnostycznych przykładowych zapytań.

  2. Uruchom to zapytanie, aby zliczyć liczbę niepomyślnie zakończonych niepowodzeniem interfejsu API dla żądań rdzeni wirtualnych bazy danych MongoDB pogrupowanych według kodu błędu.

    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. Uruchom to zapytanie, aby uzyskać interfejs API dla czasu wykonywania żądań P99 rdzeni wirtualnych bazy danych MongoDB według nazwy operacji.

    // 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. Uruchom to zapytanie, aby uzyskać liczbę żądań interfejsu API dla żądań rdzeni wirtualnych bazy danych MongoDB pogrupowanych według łącznego czasu trwania środowiska uruchomieniowego.

    // 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. Uruchom to zapytanie, aby uzyskać liczbę żądań interfejsu API dla rdzeni wirtualnych bazy danych MongoDB według agenta użytkownika.

    // 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