La registrazione è una funzionalità fantastica che ci consente di tracciare rapidamente e facilmente eventuali problemi sul server. Sfortunatamente, sebbene Cassandra fornisca ampie funzionalità di registrazione, non registra le query eseguite sui nodi per impostazione predefinita.
Attraverso questo post, scoprirai come abilitare e disabilitare la traccia di query nei nodi Cassandra.
Comando Cassandra Tracing
Cassandra ci fornisce il comando di tracciamento, che può essere eseguito nella shell CQL. Questo comando consente di abilitare o disabilitare la traccia per tutte le query eseguite nei nodi di un determinato cluster.
Il tracciante consente di raccogliere i registri di qualsiasi transazione eseguita sul server. I registri di traccia vengono quindi memorizzati nelle aree di chiavi System_Traces, che scadranno dopo una determinata durata TTL. Per impostazione predefinita, le tracce sono conservate nella tabella per 24 ore. Tuttavia, è possibile modificare il valore TTL o spostare le tracce in un altro spazio chiave.
Inoltre, lo spazio del tasto System_Traces contiene tabelle come la sessione, che contiene informazioni sulla sessione e la tabella degli eventi, che ha informazioni dettagliate sulle query.
La sintassi del comando di tracciamento è come mostrata:
Tracing [on | SPENTO]
Esempio
L'esempio seguente mostra come abilitare la traccia in un cluster a quattro nodi. Testeremo quindi le funzionalità di tracciamento creando dati di esempio.
Per abilitare la traccia, eseguire il comando:
CQLSH> Traccia;
Ora la traccia è abilitata
CQLSH>
Successivamente, creiamo uno spazio di chiavi e una tabella di esempio.
CQLSH> Crea Store KeySpace con replication = 'class': 'SimpleStrategy', 'Replication_Factor': 4;
Una volta eseguito il comando sopra, la shell CQL dovrebbe restituire i messaggi di tracciamento del comando come mostrato di seguito:
Sessione di traccia: 0DE9B970-3407-11ED-9723-61BF090829C9
Attività | timestamp | Fonte | Source_elapsed | cliente
---------------------------------------------------------------------------------------------------------------------------------------+----------------------------+-----------+----------------+-----------
Esegui query CQL3 | 2022-09-14 11:27:22.119000 | 127.0.0.1 | 0 | 127.0.0.1
Analizzare Crea KeySpace Store con replication = 'class': 'SimpleStrategy', 'Replication_Factor': 4; [Native-Transport-Requests-1] | 2022-09-14 11:27:22.119000 | 127.0.0.1 | 657 | 127.0.0.1
Dichiarazione di preparazione [Native-Transport-Requests-1] | 2022-09-14 11:27:22.121000 | 127.0.0.1 | 2168 | 127.0.0.1
Aggiunta a commitlog [MigrationStage: 1] | 2022-09-14 11:27:22.132000 | 127.0.0.1 | 13136 | 127.0.0.1
Aggiunta a Keyspaces Memtable [MigrationStage: 1] | 2022-09-14 11:27:22.133000 | 127.0.0.1 | 13941 | 127.0.0.1
Aggiunta a commitlog [compactactionexecutor: 3] | 2022-09-14 11:27:22.400000 | 127.0.0.1 | 280829 | 127.0.0.1
Aggiunta a compatta_history memtable [compactactionexecutor: 3] | 2022-09-14 11:27:22.400000 | 127.0.0.1 | 281512 | 127.0.0.1
Aggiunta a commitlog [compactactionexecutor: 4] | 2022-09-14 11:27:22.498000 | 127.0.0.1 | 379253 | 127.0.0.1
Aggiunta a compatta_history memtable [compactactionexecutor: 4] | 2022-09-14 11:27:22.498000 | 127.0.0.1 | 379782 | 127.0.0.1
Aggiunta a commitlog [compactactionexecutor: 3] | 2022-09-14 11:27:22.627000 | 127.0.0.1 | 508643 | 127.0.0.1
Aggiunta a compatta_history memtable [compactactionexecutor: 3] | 2022-09-14 11:27:22.628000 | 127.0.0.1 | 509209 | 127.0.0.1
Aggiunta a commitlog [compactactionexecutor: 4] | 2022-09-14 11:27:22.778000 | 127.0.0.1 | 659647 | 127.0.0.1
Aggiunta a compatta_history memtable [compactactionexecutor: 4] | 2022-09-14 11:27:22.779000 | 127.0.0.1 | 660218 | 127.0.0.1
Esecuzione di SEQ Scan su 2 sStables per (min (-9223372036854775808), min (-9223372036854775808)] [MigrationStage: 1] | 2022-09-14 11:27:22.846000 | 127.0.0.1 | 726928 | 127.0.0.1
Leggi 66 file vive e 0 celle di tomba [MigrationStage: 1] | 2022-09-14 11:27:22.851000 | 127.0.0.1 | 732009 | 127.0.0.1
Aggiunta a commitlog [compactactionexecutor: 3] | 2022-09-14 11:27:22.852000 | 127.0.0.1 | 733610 | 127.0.0.1
-----------------Output troncato-------------------
Possiamo quindi creare una tabella ed eseguire un'operazione di scrittura come mostrato:
CQLSH> Crea table store.Inventory (Id int, Product_name Testo, Price Int, Primary Key (ID));
Allo stesso modo, il comando dovrebbe restituire il registro di tracciamento come:
Possiamo inserire i dati di esempio come:
CQLSH> Inserisci nel negozio.Inventario (ID, Product_name, Price) Valori (1, 'Product1', 10);
La richiesta di scrittura produce la traccia come mostrato:
Infine, possiamo selezionare gli elementi dalla tabella che dovrebbero restituire la traccia per una scansione sequenziale come mostrato:
CQLSH> Seleziona* Dal negozio.inventario;
Traccia output:
Conclusione
Questo articolo ha discusso di come è possibile abilitare la traccia di query nel cluster Cassandra usando il comando di tracciamento.