Monitorare i log di diagnostica vCore di Azure Cosmos DB per MongoDB con Monitoraggio di Azure
SI APPLICA A: VCore mongoDB
I log di diagnostica di Azure sono essenziali per acquisire i log delle risorse di Azure per un account vCore di Azure Cosmos DB per MongoDB. Questi log forniscono informazioni dettagliate e frequenti sulle operazioni per le risorse con l'account.
Importante
Questa funzionalità non è disponibile con M25
SKU (con burst) o M30
(livello gratuito).
Prerequisiti
- Un cluster vCore di Azure Cosmos DB per MongoDB esistente.
- Se non si ha una sottoscrizione di Azure, creare gratuitamente un account.
- Se si ha una sottoscrizione di Azure esistente, creare un nuovo cluster vCore di Azure Cosmos DB per MongoDB.
- Un'area di lavoro Log Analytics esistente o un account Archiviazione di Azure.
Creare impostazioni di diagnostica
Le metriche della piattaforma e i log attività vengono raccolti automaticamente. Per raccogliere i log delle risorse e instradarli esternamente da Monitoraggio di Azure, è necessario stabilire un'impostazione di diagnostica. Quando si attivano le impostazioni di diagnostica per gli account Azure Cosmos DB, è necessario scegliere di indirizzarli a un'area di lavoro Log Analytics o a un account Archiviazione di Azure.
Creare variabili della shell per
clusterName
eresourceGroupName
.# Variable for API for MongoDB vCore cluster resource clusterName="<resource-name>" # Variable for resource group resourceGroupName="<resource-group-name>"
Creare variabili della shell per
workspaceName
ediagnosticSettingName
,# Variable for workspace name workspaceName="<storage-account-name>" # Variable for diagnostic setting name diagnosticSettingName="<diagnostic-setting-name>"
Nota
Ad esempio, se il nome dell'area di lavoro Log Analytics è
test-workspace
e il nome delle impostazioni di diagnostica ètest-setting
:workspaceName="test-workspace" diagnosticSettingName:"test-setting"
Ottenere l'identificatore di risorsa per il cluster vCore dell'API per 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" \ )
Ottenere l'identificatore della risorsa per l'area di lavoro 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" \ )
Usare
az monitor diagnostic-settings create
per creare l'impostazione.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
Importante
Abilitando l'impostazione
--export-to-resource-specific true
, assicurarsi che gli eventi del log delle richieste dell'API per MongoDB vCore vengano inseriti in modo efficiente nellavCoreMongoRequests
tabella progettata specificamente con uno schema dedicato.Al contrario, l'abbandono della configurazione
--export-to-resource-specific true
comporta l'instradamento degli eventi del log delle richieste dell'API per MongoDB vCore alla tabella generaleAzureDiagnostics
.È importante notare che quando si crea l'impostazione di diagnostica tramite il portale, gli eventi di log verranno attualmente trasmessi alla
AzureDiagnostics
tabella. Per i clienti che preferiscono esportare i log nella tabella specificaVCoreMongoRequests
della risorsa, è consigliabile usare l'interfaccia della riga di comando di Azure con l'opzione--export-to-resource-specific true
.
Gestire le impostazioni di diagnostica
A volte è necessario gestire le impostazioni individuandole o rimuovendole. Il az monitor diagnostic-settings
gruppo di comandi include sottocomandi per la gestione delle impostazioni di diagnostica.
Elencare tutte le impostazioni di diagnostica associate all'API per il cluster vCore MongoDB.
az monitor diagnostic-settings list \ --resource-group $resourceGroupName \ --resource $clusterResourceId
Eliminare un'impostazione specifica usando la risorsa associata e il nome dell'impostazione.
az monitor diagnostic-settings delete \ --resource-group $resourceGroupName \ --name $diagnosticSettingName \ --resource $clusterResourceId
Usare query di diagnostica avanzate
Usare queste query specifiche delle risorse per eseguire ricerche comuni sulla risoluzione dei problemi in un cluster vCore dell'API per MongoDB.
Importante
Questa sezione presuppone che si stia usando un'area di lavoro Log Analytics con log specifici delle risorse.
Passare alla sezione Log del cluster vCore dell'API per MongoDB. Osservare l'elenco delle query di esempio.
Eseguire questa query per contare il numero di richieste vCore dell'API non riuscite per MongoDB raggruppate in base al codice di errore.
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)
Eseguire questa query per ottenere l'API per MongoDB vCore richiede
P99
la durata del runtime in base al nome dell'operazione.// 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
Eseguire questa query per ottenere il conteggio delle richieste vCore dell'API per MongoDB raggruppate per durata totale di runtime.
// 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)
Eseguire questa query per ottenere il numero di richieste vCore dell'API per MongoDB da parte dell'agente utente.
// 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
Contenuto correlato
- Altre informazioni sulla compatibilità delle funzionalità con MongoDB.
- Esaminare le opzioni per la migrazione da MongoDB ad Azure Cosmos DB per MongoDB vCore
- Per iniziare, creare un account.