Logging er en fantastisk funksjon som lar oss raskt og enkelt spore eventuelle problemer på serveren. Dessverre, selv om Cassandra gir omfattende loggfunksjoner, logger den ikke spørsmålene som er utført på nodene som standard.
Gjennom dette innlegget vil du oppdage hvordan du aktiverer og deaktiverer spørringssporing i Cassandra -noder.
Cassandra sporer kommando
Cassandra gir oss sporingskommandoen, som kan utføres i CQL -skallet. Denne kommandoen lar deg aktivere eller deaktivere sporing for alle spørsmålene som er utført i nodene til en gitt klynge.
Sporing lar deg samle inn logger over enhver transaksjon utført på serveren. Sporeloggene lagres deretter i systemet som tastene, som vil utløpe etter en gitt TTL -varighet. Som standard lagres sporene i tabellen i 24 timer. Du kan imidlertid endre TTL -verdien eller flytte sporene til et annet nøkkelområde.
I tillegg inneholder System_Traces KeySpace tabeller som økten, som har øktinformasjon, og hendelsesbordet, som har detaljert informasjon om spørsmålene.
Sporingskommandosyntaxen er som vist:
Sporing [på | AV]
Eksempel
Følgende eksempel viser hvordan du kan aktivere sporing i en fire-node-klynge. Vi vil deretter teste sporingsfunksjonene ved å lage eksempler på data.
For å aktivere sporing, kjør kommandoen:
CQLSH> Sporing på;
Nå er sporing aktivert
cqlsh>
Deretter, la oss lage en nøkkelpace og prøvebord.
cqlsh> Opprett KeySpace -butikk med replikasjon = 'klasse': 'enklestRategy', 'replication_factor': 4;
Når vi har kjørt kommandoen over, skal CQL -skallet returnere sporing av meldinger om kommandoen som vist nedenfor:
Tracing Session: 0DE9B970-3407-11ED-9723-61BF090829C9
aktivitet | tidsstempel | kilde | Source_elapsed | klient
---------------------------------------------------------------------------------------------------------------------------------------+----------------------------+-----------+----------------+-----------
Utfør CQL3 -spørring | 2022-09-14 11:27:22.119000 | 127.0.0.1 | 0 | 127.0.0.1
Parsing Create KeySpace Store med replikering = 'klasse': 'enklestRategy', 'replication_factor': 4; [Native-Transport-Request-1] | 2022-09-14 11:27:22.119000 | 127.0.0.1 | 657 | 127.0.0.1
Utarbeide uttalelse [Native-Transport-Request-1] | 2022-09-14 11:27:22.121000 | 127.0.0.1 | 2168 | 127.0.0.1
Lyver til CommitLog [Migrationstage: 1] | 2022-09-14 11:27:22.132000 | 127.0.0.1 | 13136 | 127.0.0.1
Legge til KeySpaces MemTable [Migrationstage: 1] | 2022-09-14 11:27:22.133000 | 127.0.0.1 | 13941 | 127.0.0.1
Lyfter til CommitLog [CompactionExecutor: 3] | 2022-09-14 11:27:22.400000 | 127.0.0.1 | 280829 | 127.0.0.1
Legge til Compaction_History MemTable [CompactionExecutor: 3] | 2022-09-14 11:27:22.400000 | 127.0.0.1 | 281512 | 127.0.0.1
Lyfter til CommitLog [CompactionExecutor: 4] | 2022-09-14 11:27:22.498000 | 127.0.0.1 | 379253 | 127.0.0.1
Legge til Compaction_History MemTable [CompactionExecutor: 4] | 2022-09-14 11:27:22.498000 | 127.0.0.1 | 379782 | 127.0.0.1
Lyfter til CommitLog [CompactionExecutor: 3] | 2022-09-14 11:27:22.627000 | 127.0.0.1 | 508643 | 127.0.0.1
Legge til Compaction_History MemTable [CompactionExecutor: 3] | 2022-09-14 11:27:22.628000 | 127.0.0.1 | 509209 | 127.0.0.1
Lyfter til CommitLog [CompactionExecutor: 4] | 2022-09-14 11:27:22.778000 | 127.0.0.1 | 659647 | 127.0.0.1
Legge til Compaction_History MemTable [CompactionExecutor: 4] | 2022-09-14 11:27:22.779000 | 127.0.0.1 | 660218 | 127.0.0.1
Utførelse av SEQ-skanning over 2 Sstables for (MIN (-9223372036854775808), min (-9223372036854775808)] [Migrationstage: 1] | 2022-09-14 11:27:22.846000 | 127.0.0.1 | 726928 | 127.0.0.1
Les 66 levende rader og 0 gravsteinsceller [migrasjonsstage: 1] | 2022-09-14 11:27:22.851000 | 127.0.0.1 | 732009 | 127.0.0.1
Lyfter til CommitLog [CompactionExecutor: 3] | 2022-09-14 11:27:22.852000 | 127.0.0.1 | 733610 | 127.0.0.1
-----------------Output avkortet-------------------
Vi kan deretter lage en tabell og utføre en skriveoperasjon som vist:
CQLSH> Opprett bordbutikk.Inventory (ID Int, Product_Name Text, Price Int, Primary Key (ID));
Tilsvarende skal kommandoen returnere sporingsloggen som:
Vi kan sette inn prøvedata som:
cqlsh> sett inn i butikken.Inventory (ID, Product_name, Price) Values (1, 'Product1', 10);
Skrivforespørselen produserer sporet som vist:
Til slutt kan vi velge elementene fra tabellen som skal returnere sporet for en sekvensiell skanning som vist:
cqlsh> velg* fra butikken.inventar;
Sporutgang:
Konklusjon
Denne artikkelen diskuterte hvordan du kan aktivere spørringssporing i Cassandra -klyngen din ved å bruke sporingskommandoen.