Monitorar logs de diagnóstico vCore do Azure Cosmos DB para MongoDB com o Azure Monitor
APLICA-SE A: MongoDB vCore
Os logs de diagnóstico do Azure são essenciais para capturar logs de recursos do Azure para uma conta vCore do Azure Cosmos DB para MongoDB. Esses logs fornecem informações detalhadas e frequentes sobre as operações de recursos com a conta.
Importante
Este recurso não está disponível com M25
SKUs (burstable) ou M30
(free-tier).
Pré-requisitos
- Um cluster vCore do Azure Cosmos DB existente para MongoDB.
- Se você não tiver uma assinatura do Azure, crie uma conta gratuitamente.
- Se você tiver uma assinatura existente do Azure, crie um novo cluster vCore do Azure Cosmos DB para MongoDB.
- Um espaço de trabalho existente do Log Analytics ou uma conta de Armazenamento do Azure.
Criar as definições de diagnóstico
As métricas da plataforma e os registros de atividades são coletados automaticamente. Para coletar logs de recursos e roteá-los externamente do Azure Monitor, você deve estabelecer uma configuração de diagnóstico. Ao ativar as configurações de diagnóstico para contas do Azure Cosmos DB, você deve optar por roteá-las para um espaço de trabalho do Log Analytics ou uma conta de Armazenamento do Azure.
Crie variáveis de shell para
clusterName
eresourceGroupName
.# Variable for API for MongoDB vCore cluster resource clusterName="<resource-name>" # Variable for resource group resourceGroupName="<resource-group-name>"
Criar variáveis de shell para
workspaceName
ediagnosticSettingName
,# Variable for workspace name workspaceName="<storage-account-name>" # Variable for diagnostic setting name diagnosticSettingName="<diagnostic-setting-name>"
Nota
Por exemplo, se o nome do espaço de trabalho do Log Analytics for e o nome das configurações de diagnóstico for
test-workspace
test-setting
:workspaceName="test-workspace" diagnosticSettingName:"test-setting"
Obtenha o identificador de recurso para a API para o cluster vCore do 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" \ )
Obtenha o identificador de recurso para o espaço de trabalho do 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" \ )
Use
az monitor diagnostic-settings create
para criar a configuração.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
Ao habilitar a
--export-to-resource-specific true
configuração, você garante que os eventos de log de solicitação vCore da API para MongoDB sejam ingeridos de forma eficiente navCoreMongoRequests
tabela especificamente projetada com um esquema dedicado.Por outro lado, negligenciar a configuração
--export-to-resource-specific true
resultaria na API para eventos de log de solicitação vCore do MongoDB sendo roteada para a tabela geralAzureDiagnostics
.É importante observar que, ao criar a configuração de diagnóstico por meio do Portal, os eventos de log fluirão atualmente para a
AzureDiagnostics
tabela. Para clientes que preferem exportar logs para a tabela específicaVCoreMongoRequests
de recursos, recomenda-se utilizar a CLI do Azure com a--export-to-resource-specific true
opção.
Gerenciar configurações de diagnóstico
Às vezes, você precisa gerenciar as configurações localizando-as ou removendo-as. O az monitor diagnostic-settings
grupo de comandos inclui subcomandos para o gerenciamento de configurações de diagnóstico.
Liste todas as configurações de diagnóstico associadas à API para cluster vCore do MongoDB.
az monitor diagnostic-settings list \ --resource-group $resourceGroupName \ --resource $clusterResourceId
Exclua uma configuração específica usando o recurso associado e o nome da configuração.
az monitor diagnostic-settings delete \ --resource-group $resourceGroupName \ --name $diagnosticSettingName \ --resource $clusterResourceId
Usar consultas de diagnóstico avançado
Use essas consultas específicas de recursos para executar pesquisas comuns de solução de problemas em uma API para cluster vCore do MongoDB.
Importante
Esta seção pressupõe que você esteja usando um espaço de trabalho do Log Analytics com logs específicos de recursos.
Navegue até a seção Logs da API para cluster vCore do MongoDB. Observe a lista de consultas de exemplo.
Execute esta consulta para contar o número de APIs com falha para solicitações vCore do MongoDB agrupadas por código de erro.
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)
Execute esta consulta para obter a API para MongoDB vCore solicita
P99
duração de tempo de execução por nome da operação.// 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
Execute esta consulta para obter a contagem de API para solicitações vCore do MongoDB agrupadas por duração total de tempo de execução.
// 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)
Execute esta consulta para obter a contagem de API para solicitações vCore do MongoDB pelo agente do usuário.
// 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
Conteúdos relacionados
- Leia mais sobre a compatibilidade de recursos com o MongoDB.
- Opções de revisão para migrar do MongoDB para o Azure Cosmos DB para MongoDB vCore
- Comece criando uma conta.