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 M25
jednostkach SKU (z możliwością rozszerzenia) ani M30
(w warstwie bezpłatna).
Wymagania wstępne
- Istniejący klaster usługi Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB.
- Jeśli nie masz subskrypcji platformy Azure, utwórz bezpłatne konto.
- Jeśli masz istniejącą subskrypcję platformy Azure, utwórz nowy 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. Po aktywowaniu ustawień diagnostycznych dla kont usługi Azure Cosmos DB należy wybrać kierowanie ich do obszaru roboczego usługi Log Analytics lub konta usługi Azure Storage.
- Obszar roboczy usługi Log Analytics
- konto usługi Azure Storage
Utwórz zmienne powłoki dla
clusterName
iresourceGroupName
.# Variable for API for MongoDB vCore cluster resource clusterName="<resource-name>" # Variable for resource group resourceGroupName="<resource-group-name>"
Tworzenie zmiennych powłoki dla
workspaceName
idiagnosticSettingName
,# Variable for workspace name workspaceName="<storage-account-name>" # Variable for diagnostic setting name diagnosticSettingName="<diagnostic-setting-name>"
Uwaga
Jeśli na przykład nazwa obszaru roboczego usługi Log Analytics to
test-workspace
, a nazwa ustawień diagnostycznych totest-setting
:workspaceName="test-workspace" diagnosticSettingName:"test-setting"
Pobierz identyfikator zasobu dla klastra interfejsu API dla rdzeni wirtualnych bazy danych MongoDB.
az cosmosdb mongocluster show \ --resource-group $resourceGroupName \ --cluster-name $clusterName clusterResourceId=$(az cosmosdb mongocluster show \ --resource-group $resourceGroupName \ --cluster-name $clusterName \ --query "id" \ --output "tsv" \ )
Pobierz identyfikator zasobu dla obszaru roboczego usługi Log Analytics.
az monitor log-analytics workspace show \ --resource-group $resourceGroupName \ --name $workspaceName workspaceResourceId=$(az monitor log-analytics workspace show \ --resource-group $resourceGroupName \ --name $workspaceName \ --query "id" \ --output "tsv" \ )
Użyj
az monitor diagnostic-settings create
polecenia , aby utworzyć ustawienie.az monitor diagnostic-settings create \ --resource-group $resourceGroupName \ --name $diagnosticSettingName \ --resource $clusterResourceId \ --export-to-resource-specific true \ --logs '[{category:vCoreMongoRequests,enabled:true,retention-policy:{enabled:false,days:0}}]' \ --workspace $workspaceResourceId
Ważne
Po włączeniu
--export-to-resource-specific true
tego ustawienia upewnij się, że zdarzenia dziennika żądań rdzeni wirtualnych bazy danych MongoDB są efektywnie pozyskiwane dovCoreMongoRequests
tabeli specjalnie zaprojektowanej przy użyciu dedykowanego schematu.Z kolei zaniedbanie konfigurowania
--export-to-resource-specific true
spowoduje, że interfejs API dla zdarzeń dziennika żądań rdzeni wirtualnych bazy danych MongoDB jest kierowany do tabeli ogólnejAzureDiagnostics
.Należy pamiętać, że podczas tworzenia ustawienia diagnostycznego za pośrednictwem portalu zdarzenia dziennika będą obecnie przepływać do
AzureDiagnostics
tabeli. W przypadku klientów, którzy preferują eksportowanie dzienników do tabeli specyficznej dlaVCoreMongoRequests
zasobów, zaleca się użycie interfejsu wiersza polecenia platformy Azure z opcją--export-to-resource-specific true
.
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.
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
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.
Przejdź do sekcji Dzienniki interfejsu API dla klastra rdzeni wirtualnych bazy danych MongoDB. Obserwuj listę przykładowych zapytań.
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/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name" | where ErrorCode != 0 | summarize count() by bin(TimeGenerated, 5m), ErrorCode=tostring(ErrorCode)
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/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name" | summarize percentile(DurationMs, 99) by bin(TimeGenerated, 1h), OperationName
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/00000000-0000-0000-0000-000000000000/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)
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/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name" | summarize count() by bin(TimeGenerated, 1h), UserAgent
Powiązana zawartość
- Przeczytaj więcej na temat zgodności funkcji z bazą danych MongoDB.
- Przejrzyj opcje migracji z bazy danych MongoDB do usługi Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB
- Rozpocznij od utworzenia konta.