Cassandra ermöglichen Abfrageverfolgung

Cassandra ermöglichen Abfrageverfolgung
Die Protokollierung ist eine fantastische Funktion, mit der wir alle Probleme auf dem Server schnell und einfach verfolgen können. Obwohl Cassandra umfangreiche Protokollierungsfunktionen bietet, protokolliert es leider die standardmäßigen Abfragen, die auf den Knoten ausgeführt wurden.

Durch diesen Beitrag werden Sie feststellen, wie Sie die Abfrageverfolgung in Cassandra -Knoten aktivieren und deaktivieren können.

Cassandra Tracing Command

Cassandra bietet uns den Befehl verfolgt, der in der CQL -Shell ausgeführt werden kann. Mit diesem Befehl können Sie die Verfolgung für alle in den Knoten eines bestimmten Cluster ausgeführten Abfragen aktivieren oder deaktivieren.

Mit der Verfolgung können Sie Protokolle einer auf dem Server durchgeführten Transaktion sammeln. Die Trace -Protokolle werden dann in den Tasten von System_Traces gespeichert, die nach einer bestimmten TTL -Dauer ablaufen. Standardmäßig werden die Spuren 24 Stunden lang im Tisch gespeichert. Sie können jedoch den TTL -Wert ändern oder die Spuren in einen anderen Schlüsselraum verschieben.

Darüber hinaus enthält der Schlüsselspace System_Traces Tabellen wie die Sitzung, die Sitzungsinformationen enthält, und die Ereignisetabelle, in der detaillierte Informationen zu den Abfragen enthalten sind.

Die Tracing Command Syntax ist wie gezeigt:

Verfolgung [auf | AUS]

Beispiel

Das folgende Beispiel zeigt, wie die Verfolgung in einem Cluster mit vier Knoten aktiviert werden kann. Wir werden dann die Tracing -Funktionen durch Erstellen von Beispieldaten testen.

Führen Sie den Befehl aus, um die Nachverfolgung zu ermöglichen:

cqlsh> verfolgt;

Jetzt ist die Verfolgung aktiviert

CQLSH>

Lassen Sie uns als nächstes einen Schlüsselspace- und Beispieltable erstellen.

CQLSH> Schlüsselspeicher erstellen mit Replikation = 'Klasse': 'SimpleStrategy', 'replication_factor': 4;

Sobald wir den obigen Befehl ausgeführt haben, sollte die CQL -Shell die Verfolgung von Nachrichten des Befehls wie unten gezeigt zurückgeben:

Tracing Session: 0DE9B970-3407-11ED-9723-61BF090829C9
Aktivität | Zeitstempel | Quelle | Source_elapsed | Klient
---------------------------------------------------------------------------------------------------------------------------------------+----------------------------+-----------+----------------+-----------
CQL3 -Abfrage ausführen | 2022-09-14 11:27:22.119000 | 127.0.0.1 | 0 | 127.0.0.1
Parsing CREATE KEYPACE STADE MIT Replication = 'Klasse': 'SimpleStrategy', 'replication_factor': 4; [Native-Transsport-Requests-1] | 2022-09-14 11:27:22.119000 | 127.0.0.1 | 657 | 127.0.0.1
Vorbereitung der Erklärung [Native-Transsport-RequestS-1] | 2022-09-14 11:27:22.121000 | 127.0.0.1 | 2168 | 127.0.0.1
Anhänge an Commitlog [MigrationStage: 1] | 2022-09-14 11:27:22.132000 | 127.0.0.1 | 13136 | 127.0.0.1
Hinzufügen zu Keyspaces Memtable [MigrationStage: 1] | 2022-09-14 11:27:22.133000 | 127.0.0.1 | 13941 | 127.0.0.1
Anhänge an Commitlog [compactionExecutor: 3] | 2022-09-14 11:27:22.400000 | 127.0.0.1 | 280829 | 127.0.0.1
Hinzufügen zu compaction_history memtable [compactionExecutor: 3] | 2022-09-14 11:27:22.400000 | 127.0.0.1 | 281512 | 127.0.0.1
Anhänge an Commitlog [compactionexecutor: 4] | 2022-09-14 11:27:22.498000 | 127.0.0.1 | 379253 | 127.0.0.1
Hinzufügen zu compaction_history memtable [compactionexecutor: 4] | 2022-09-14 11:27:22.498000 | 127.0.0.1 | 379782 | 127.0.0.1
Anhänge an Commitlog [compactionExecutor: 3] | 2022-09-14 11:27:22.627000 | 127.0.0.1 | 508643 | 127.0.0.1
Hinzufügen zu compaction_history memtable [compactionExecutor: 3] | 2022-09-14 11:27:22.628000 | 127.0.0.1 | 509209 | 127.0.0.1
Anhänge an Commitlog [compactionexecutor: 4] | 2022-09-14 11:27:22.778000 | 127.0.0.1 | 659647 | 127.0.0.1
Hinzufügen zu compaction_history memtable [compactionexecutor: 4] | 2022-09-14 11:27:22.779000 | 127.0.0.1 | 660218 | 127.0.0.1
Ausführende SEQ-Scan über 2 Sstables für (min (-9223372036854775808), min (-9223372036854775808)] [MigrationStage: 1] | 2022-09-14 11:27:22.846000 | 127.0.0.1 | 726928 | 127.0.0.1
Lesen Sie 66 Live -Zeilen und 0 Grabsteinzellen [MigrationStage: 1] | 2022-09-14 11:27:22.851000 | 127.0.0.1 | 732009 | 127.0.0.1
Anhänge an Commitlog [compactionExecutor: 3] | 2022-09-14 11:27:22.852000 | 127.0.0.1 | 733610 | 127.0.0.1
-----------------Ausgang abgeschnitten-------------------

Wir können dann eine Tabelle erstellen und wie gezeigt eine Schreiboperation ausführen:

CQLSH> Table Store erstellen.Inventar (ID int, product_name text, Preis int, Primärschlüssel (ID));

In ähnlicher Weise sollte der Befehl das Tracing -Protokoll als:

Wir können Beispieldaten als:

CQLSH> In Store einfügen.Inventar (ID, Product_name, Preis) Werte (1, 'product1', 10);

Die Schreibanforderung erzeugt die Spur wie gezeigt:

Schließlich können wir die Elemente aus der Tabelle auswählen, die die Trace für einen sequentiellen Scan wie gezeigt zurückgeben sollten:

CQLSH> Auswählen* aus dem Geschäft.Inventar;

Trace -Ausgabe:

Abschluss

In diesem Artikel wurde erläutert, wie Sie die Abfrageverfolgung in Ihrem Cassandra -Cluster mithilfe des Befehls verfolgt werden können.