【问题标题】:DSE Cassandra audit log not capturing UDTs in DMLDSE Cassandra 审核日志未在 DML 中捕获 UDT
【发布时间】:2018-11-23 21:22:34
【问题描述】:

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

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

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

例如:opts=000000120000002f00000003414c4c000000045253434800000001590000000800000162e0e658180000000641504952414d000000004900000002

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

【问题讨论】:

  • 我们更新到 dse 6.0.4 并且这个问题仍然存在。这是 dse cassandra 审计日志功能的一个已知问题,由于性能影响而未解决。

标签: cassandra datastax datastax-enterprise cassandra-2.0 datastax-java-driver


【解决方案1】:

应该是特定版本的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...

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

【讨论】:

    猜你喜欢
    • 2021-07-11
    • 2018-05-04
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多