Solucionar problemas com consultas de diagnóstico avançadas para o Azure Cosmos DB for Apache Gremlin
APLICA-SE AO: NoSQL MongoDB Cassandra Gremlin
Neste artigo, veremos como escrever consultas mais avançadas para ajudar a solucionar problemas de sua conta do Azure Cosmos DB usando os logs de diagnóstico enviados às tabelas do Diagnóstico do Azure (herdado) e específicas dos recursos (versão prévia) .
Para as tabelas do Diagnóstico do Azure, todos os dados são gravados em uma única tabela. Os usuários especificam a categoria que desejam consultar. Se você quiser exibir a consulta de texto completo de sua solicitação, consulte Monitore dados do Azure Cosmos DB usando configurações de diagnóstico no Azure para saber como habilitar esse recurso.
Para tabelas específicas dos recursos, os dados são gravados em tabelas individuais para cada categoria do recurso. Recomendamos esse modo porque:
- Facilita o trabalho com os dados.
- Fornece melhor detectabilidade dos esquemas.
- Melhora o desempenho entre a latência de ingestão e os tempos de consulta.
Consultas comuns
Consultas comuns são mostradas nas tabelas específicas do recurso e do Diagnóstico do Azure.
As N(10) principais RU (unidades de solicitação) que consomem solicitações ou consultas em um período específico
CDBGremlinRequests
| project PIICommandText, ActivityId, DatabaseName , CollectionName
| join kind=inner topRequestsByRUcharge on ActivityId
| project DatabaseName , CollectionName , PIICommandText , RequestCharge, TimeGenerated
| order by RequestCharge desc
| take 10
Solicitações limitadas (statusCode = 429) em uma janela de tempo específica
CDBGremlinRequests
| project PIICommandText, ActivityId, DatabaseName , CollectionName
| join kind=inner throttledRequests on ActivityId
| project DatabaseName , CollectionName , PIICommandText , OperationName, TimeGenerated
Consultas com comprimentos de resposta grandes (tamanho do conteúdo da resposta do servidor)
CDBGremlinRequests
//specify collection and database
//| where DatabaseName == "DB NAME" and CollectionName == "COLLECTIONNAME"
| join kind=inner operationsbyUserAgent on ActivityId
| summarize max(ResponseLength) by PIICommandText
| order by max_ResponseLength desc
Consumo de RU por partição física (em todas as réplicas no conjunto de réplicas)
CDBPartitionKeyRUConsumption
| where TimeGenerated >= now(-1d)
//specify collection and database
//| where DatabaseName == "DB NAME" and CollectionName == "COLLECTIONNAME"
// filter by operation type
//| where operationType_s == 'Create'
| summarize sum(todouble(RequestCharge)) by toint(PartitionKeyRangeId)
| render columnchart
Consumo de RU por partição lógica (em todas as réplicas no conjunto de réplicas)
CDBPartitionKeyRUConsumption
| where TimeGenerated >= now(-1d)
//specify collection and database
//| where DatabaseName == "DB NAME" and CollectionName == "COLLECTIONNAME"
// filter by operation type
//| where operationType_s == 'Create'
| summarize sum(todouble(RequestCharge)) by PartitionKey, PartitionKeyRangeId
| render columnchart
Próximas etapas
- Para saber mais sobre como criar configurações de diagnóstico para o Azure Cosmos DB, consulte Criar configurações de diagnóstico.
- Para obter mais detalhes sobre como criar uma configuração de diagnóstico usando o portal do Azure, a CLI do Azure ou o PowerShell, consulte Criar configurações de diagnóstico para coletar logs e métricas de plataforma no Azure.