Share via


Diagnostica del server per Azure Cosmos DB for Apache Cassandra

SI APPLICA A: Cassandra

Log Analytics è uno strumento nel portale di Azure che consente di eseguire la diagnostica del server sull'API per l'account Cassandra. Eseguire query di log dai dati raccolti dai log di Monitoraggio di Azure e analizzarne i risultati in modo interattivo. I record recuperati dalle query di Log Analytics consentono di fornire varie informazioni dettagliate sui dati.

Prerequisiti

Usare Log Analytics

Dopo aver completato la configurazione dell'analisi dei log, è possibile iniziare a esplorare i log per ottenere altre informazioni dettagliate.

Esplorare le operazioni del piano dati

Utilizzare la tabella CDBCassandraRequests per visualizzare le operazioni del piano dati specificamente per l'API per l'account Cassandra. Una query di esempio per visualizzare la richiesta di consumo topN(10) e ottenere informazioni dettagliate su ogni richiesta effettuata.

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

Codici errore e possibili soluzioni

Codice di stato Codice di errore Descrizione
200 -1 Completato
400 8704 La query è corretta ma la sintassi non è valida.
400 8192 La query inviata presenta un errore di sintassi. Esaminare la query.
400 8960 La query non è valida a causa di alcuni problemi di configurazione.
401 8448 L'utente registrato non dispone delle autorizzazioni necessarie per eseguire la query.
403 8448 Risposta vietata perché l'utente potrebbe non avere le autorizzazioni necessarie per eseguire la richiesta.
404 5376 Un'eccezione non di timeout durante una richiesta di scrittura a seguito di una risposta non trovata.
405 0 Errore Cassandra lato server. Questo errore si verifica raramente. Aprire un ticket di supporto.
408 4608 Timeout durante una richiesta di lettura.
408 4352 Eccezione di timeout durante una serviceRequest di scrittura.
409 9216 Tentativo di creare un keyspace o una tabella già esistenti.
412 5376 Errore di precondizione. Per garantire l'integrità dei dati, assicurarsi che la richiesta di scrittura basata sulla risposta di lettura sia vera. Viene restituita un'eccezione di richiesta di scrittura non di timeout.
413 5376 Questa eccezione non di timeout durante una richiesta di scrittura è dovuta a un payload forse troppo grande. Attualmente esiste un limite di 2 MB per riga.
417 9472 L'eccezione viene generata quando un'istruzione preparata non è memorizzata nella cache sul nodo server. Deve essere transitoria/non bloccante.
423 5376 È presente un blocco a causa di una richiesta di scrittura attualmente in elaborazione.
429 4097 L'eccezione di overload è il risultato della carenza di UR o di un tasso di richieste elevato. Probabilmente sono necessarie più UR per gestire la richiesta di volume più elevata. In Cassandra nativo questo può essere un indicatore di CPU insufficiente in una delle macchine virtuali. È consigliabile rivedere il modello di dati corrente per assicurarsi che non siano presenti eccessive distorsioni che potrebbero causare partizioni ad accesso frequente.
449 5376 Eccezione di esecuzione simultanea. Questa si verifica per garantire un solo aggiornamento di scrittura alla volta per una determinata riga.
500 0 cassandraError del server: si è verificato un evento inatteso. Indica un bug lato server.
503 4096 servizio non disponibile.
256 Ciò può essere dovuto a credenziali di connessione non valide. Controllare le credenziali di connessione.
10 Un messaggio client ha attivato una violazione del protocollo. Un esempio è un messaggio di query inviato prima che ne venga inviato uno di avvio.

Risolvere i problemi relativi al consumo delle query

La tabella CDBPartitionKeyRUConsumption contiene dettagli sul consumo di unità richieste (UR) per le chiavi logiche in ogni regione all'interno di ciascuna delle relative partizioni fisiche.

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

Esplorare le operazioni del piano di controllo

La tabella CBDControlPlaneRequests contiene dettagli sulle operazioni del piano di controllo, in particolare per l'API per gli account Cassandra.

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

Passaggi successivi