10

ヘクターを使ってカサンドラと話しています。サーバーで実行されたクエリを追跡する方法はありますか?

Cassandra vs logging activityで述べたように、Enable DEBUG logging for org.apache.cassandra.thrift.CassandraServer を追加するのにうんざりしています。しかし、それは多くの情報を提供しません (たとえば、スライス クエリが実行されたと表示されますが、それ以上の情報は提供されません)。

より良い方法はありますか?

4

1 に答える 1

14

Cassandra 1.2では、 Cassandra 全体で読み取りと書き込みの進行状況を追跡できる新しいリクエスト トレース機能が導入されました。

トレースを表示するには、Cassandra ノードの 1 つで cqlsh を起動し、次のコマンドを実行します。

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

そして、そのノードのトレースがオンになっている限り、CQL シェルにトレースが表示され続けると思います。

または、 DataStax からの高度な Cassandra リクエスト トレースに関するこのフォローアップ ブログ投稿によると、

確率的トレースを構成できます。

nodetool settraceprobabilityまたはJMX経由

このトレース情報はsystem_traces最大 24 時間キースペースに保持されるため (このテーブルの TTL を変更できます)、必要に応じて後でそこからクエリを実行できます。

于 2013-11-14T06:14:56.907 に答える