1

我在特定的键空间上设置了 DSE Cassandra 审计日志功能。通过参考以下文档 -

https://docs.datastax.com/en/datastax_enterprise/5.0/datastax_enterprise/sec/auditConfigCassandraTable.html

这工作得很好。但是,问题是在“操作”列中捕获的 DML 语句具有准备语句的绑定变量。这是通过 java 程序使用 DSE 驱动程序执行的。对于 UDT,此绑定变量被捕获为一些十六进制值。

例如: opts=000000120000002f00000003414c4c000000045253434800000001590000000800000162e0e658180000000641504952414d00000001490000002f00

我需要知道如何解析这个十六进制值来获取实际数据。

4

1 回答 1

0

应该是特定版本的 DSE 的问题。我刚刚使用 5.1 和 6.0 进行了测试,并且在这两个版本中都正确报告了数据(我使用映射器生成查询):

INFO  [Native-Transport-Requests-1] 2018-08-20 08:53:48,754  SLF4JAuditWriter.java:96 - host:localhost/127.0.0.1|source:/127.0.0.1|user:anonymous|authenticated:anonymous|timestamp:1534748028754|category:DML|type:CQL_PREPARE_STATEMENT|ks:test|cf:audit_test|operation:INSERT INTO test.audit_test (id,u) VALUES (?,?);
INFO  [Native-Transport-Requests-1] 2018-08-20 08:53:48,770  SLF4JAuditWriter.java:96 - host:localhost/127.0.0.1|source:/127.0.0.1|user:anonymous|authenticated:anonymous|timestamp:1534748028770|category:DML|type:CQL_UPDATE|ks:test|cf:audit_test|operation:INSERT INTO test.audit_test (id,u) VALUES (?,?); [id=2,u=2:test 2]|consistency level:LOCAL_ONE

考虑至少升级到 5.1...

PS刚发现在5.1中,set的输出不起作用(可能与其他集合一样)。

于 2018-08-20T06:57:37.633 回答