Partilhar via


Diagnóstico do servidor para o Azure Cosmos DB para Apache Cassandra

APLICA-SE A: Cassandra

O Log Analytics é uma ferramenta no portal do Azure que ajuda você a executar diagnósticos de servidor em sua API para a conta Cassandra. Execute consultas de log a partir de dados coletados pelos Logs do Azure Monitor e analise interativamente seus resultados. Os registros recuperados de consultas do Log Analytics ajudam a fornecer várias informações sobre seus dados.

Pré-requisitos

Utilizar o Log Analytics

Depois de concluir a configuração da análise de logs, você pode começar a explorar seus logs para obter mais informações.

Explore as operações do plano de dados

Use a tabela CDBCassandraRequests para ver as operações do plano de dados especificamente para sua API para a conta Cassandra. Uma consulta de exemplo para ver a solicitação de consumo topN(10) e obter informações detalhadas sobre cada solicitação feita.

CDBCassandraRequests
| where RequestCharge  > 0
| project DatabaseName, CollectionName, DurationMs, OperationName, ActivityId, ErrorCode, RequestCharge, PIICommandText 
| order by RequestCharge
| take 10

Códigos de erro e possíveis soluções

Código de Estado Código de Erro Description
200 -1 Êxito
400 8704 A consulta está correta, mas é uma sintaxe inválida.
400 8192 A consulta enviada tem um erro de sintaxe. Reveja a sua consulta.
400 8960 A consulta é inválida devido a algum problema de configuração.
401 8448 O usuário registrado não tem as permissões corretas para executar a consulta.
403 8448 Resposta proibida, pois o usuário pode não ter as permissões necessárias para realizar a solicitação.
404 5376 Uma exceção sem tempo limite durante uma solicitação de gravação como resultado da resposta não encontrada.
405 0 Erro Cassandra do lado do servidor. O erro raramente ocorre, abra um tíquete de suporte.
408 4608 Tempo limite durante uma solicitação de leitura.
408 4352 Exceção de tempo limite durante uma gravação serviceRequest.
409 9216 Tentar criar um espaço de chave ou uma tabela que já existe.
412 5376 Falha na pré-condição. Para garantir a integridade dos dados, garantimos que a solicitação de gravação com base na resposta de leitura seja verdadeira. Uma exceção de solicitação de gravação sem tempo limite é retornada.
413 5376 Essa exceção sem tempo limite durante uma solicitação de gravação é devido à carga útil talvez muito grande. Atualmente, há um limite de 2MB por linha.
417 9472 A exceção é lançada quando uma instrução preparada não é armazenada em cache no nó do servidor. Deve ser transitório/sem bloqueio.
423 5376 Há um bloqueio porque uma solicitação de gravação que está sendo processada no momento.
429 4097 A exceção de sobrecarga é como resultado da escassez de RU ou alta taxa de solicitação. Provavelmente precisa de mais RU para lidar com a solicitação de maior volume. Na Cassandra nativa, isso pode ser interpretado como uma das VMs que não têm CPU suficiente. Recomendamos a revisão do modelo de dados atual para garantir que você não tenha distorções excessivas que possam estar causando partições quentes.
449 5376 Exceção de execução simultânea. Isso ocorre para garantir apenas uma atualização de gravação de cada vez para uma determinada linha.
500 0 Servidor cassandraError: algo inesperado aconteceu. Isso indica um bug do lado do servidor.
503 4096 Serviço indisponível.
256 Isso pode ser devido a credenciais de conexão inválidas. Verifique suas credenciais de conexão.
10 Uma mensagem de cliente desencadeou uma violação de protocolo. Um exemplo é a mensagem de consulta enviada antes de uma inicialização ter sido enviada.

Solucionar problemas de consumo de consultas

A tabela CDBPartitionKeyRUConsumption contém detalhes sobre o consumo de unidade de solicitação (RU) para chaves lógicas em cada região dentro de cada uma de suas partições físicas.

CDBPartitionKeyRUConsumption 
| summarize sum(todouble(RequestCharge)) by PartitionKey, PartitionKeyRangeId
| render columnchart

Explore as operações do plano de controle

A tabela CBDControlPlaneRequests contém detalhes sobre operações de plano de controle, especificamente para API para contas Cassandra.

CDBControlPlaneRequests
| where TimeGenerated > now(-6h)
| where  ApiKind == "Cassandra"
| where OperationName in ("Create", "Upsert", "Delete", "Execute")
| summarize by OperationName

Próximos passos