如何在Cassandra Server上跟踪查询?

sri*_*era 9 logging trace cassandra

我正在和使用赫克托的卡桑德拉谈话.有没有办法可以在服务器上跟踪执行的查询?

我已经厌倦了为Cassandra和日志记录活动中提到的org.apache.cassandra.thrift.CassandraServer添加启用DEBUG日志记录.但这并没有提供太多信息(例如,执行切片查询,但没有提供更多信息).

有没有更好的办法?

Aar*_*web 12

Cassandra 1.2 引入了一种新的请求跟踪功能,可以跟踪整个Cassandra的读写过程.

要查看跟踪,请在其中一个Cassandra节点上启动cqlsh并运行以下命令:

cqlsh> tracing on;
Now tracing requests.
cqlsh> use [KEYSPACE];
Run Code Online (Sandbox Code Playgroud)

我相信,只要打开该节点的跟踪,您就会继续在CQL shell中看到跟踪.

或者,根据这篇后续博客文章,关于DataStax的高级Cassandra请求跟踪

您可以配置概率跟踪.

nodetool settraceprobability 或通过JMX

此跟踪信息将在system_traces密钥空间中保留最多24小时(您可以更改此表上的TTL),因此您可以稍后根据需要查询它.