是否可以在 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
具体来说,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