如何在Cassandra Server上跟踪查询?

时间:2013-11-10 17:47:51

标签: logging cassandra tracing

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

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

有更好的方法吗?

1 个答案:

答案 0 :(得分:11)

Cassandra 1.2 introduced a new request tracing capability,可以让你跟踪整个Cassandra的读写过程。

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

cqlsh> tracing on;
Now tracing requests.
cqlsh> use [KEYSPACE];

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

或者,根据this follow-up blog post about advanced Cassandra request tracing from DataStax

您可以配置概率跟踪。

nodetool settraceprobability或通过JMX

此跟踪信息将保留在system_traces密钥空间中最多24小时(您可以更改此表上的TTL),因此如果您愿意,可以稍后从那里查询。