Cassandra

如何在 Cassandra 2.1 中啟用 DML 日誌記錄?

  • August 3, 2022

如何在 cassandra 2.1 版中啟用日誌記錄 DML(插入、更新)、DDL(更改、創建)操作?

nodetool getlogginglevels

Logger Name                                        Log Level
ROOT                                                    INFO
com.thinkaurelius.thrift                               ERROR

Cassandra 有一個審計日誌功能,它記錄:

  • 身份驗證嘗試(成功和失敗)
  • CQL 查詢(成功和失敗)

但是,此功能在舊版本的 Cassandra 中不可用,僅在 C* 4.0+ ( CASSANDRA-12151 ) 中可用。

由於 Cassandra 2.1 已於 2021 年結束生命週期,遺憾的是沒有可供您使用的開箱即用解決方案。乾杯!

你可以試試愛立信的 Cassandra 審計記錄器:https ://github.com/Ericsson/ecaudit

我已經將它與 Cassandra 3 一起使用。不確定他們是否有適用於 2.1 的版本。如果他們這樣做,您需要為您的版本下載 JAR,並將其放在您的$CASSANDRA_HOME/lib目錄中。

如果他們沒有適合您的版本,您可以在本地建構自己的(不記得確切的過程……已經有幾年了)。fork,在本地下拉,查看pom.xml文件尋找線索。建構完成後,將 JAR 放入您的$CASSANDRA_HOME/lib目錄中。

然後編輯 cassandra-env.sh 文件的末尾以引用AuditQueryHandler該類。

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

看看這個 repo,看看你能不能讓它工作。

引用自:https://dba.stackexchange.com/questions/315166