是否可以在 Cassandra 3.11 中启用查询日志记录?

Is it possible to enable query logging in Cassandra 3.11?

具体来说,Cassandra 3.11.4?

我不关心性能,因为这不是当前的生产系统(在最完整的意义上)。因此,例如,我不需要 4.0 中提供的 FQL 的高性能功能,这听起来可能适合在生产系统上登录。

我想要的是一些查询日志记录的方法,这样我就可以调试我的应用程序发送到我的系统的查询(这似乎是不正确的)。

有可能 启用 nodetool settraceprobability 1.0 您可以在 system_traces.events table

中找到查询

其他选项是将日志记录级别提高到所有和 grep “native transport request -Id

我使用 Ericsson 的 ecAudit 插件非常成功。

这是回购协议:https://github.com/Ericsson/ecaudit

配置它:

  • 下载他们的 3.11 jar,并将其复制到您的 $CASSANDRA_HOME/lib/ 目录。
  • 从您的 cassandra-env.sh 文件中引用它:

JVM_EXTRA_OPTS="$JVM_EXTRA_OPTS -Dcassandra.custom_query_handler_class=com.ericsson.bss.cassandra.ecaudit.handler.AuditQueryHandler"

  • cassandra.yaml 中,切换默认 CassandraRoleManager 以使用他们的:

role_manager: com.ericsson.bss.cassandra.ecaudit.auth.AuditRoleManager