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
- Creare un'area di lavoro Log Analytics.
- Creare impostazioni di diagnostica.
- Avviare l'analisi dei log sull'API per l'account Cassandra.
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
- Altre informazioni su Log Analytics.
- Altre informazioni su come eseguire la migrazione da Apache Cassandra nativo ad Azure Cosmos DB for Apache Cassandra.