You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Docker部署的Scylla中查看执行的原始CQL查询语句

打印Scylla执行的CQL查询到Docker日志或控制台

方法1:通过Scylla配置开启查询日志(推荐,查看引擎实际执行的语句)

Scylla支持直接开启查询日志,日志会输出到容器的标准输出/错误流,可通过docker logs直接查看。

  • 直接通过Docker命令启动Scylla时,添加参数开启查询日志:

    docker run -d --name scylla scylladb/scylla --query-logging-enabled=true --log-to-stdout=true
    

    之后执行docker logs scylla,就能看到包含CQL查询的日志条目,格式类似:

    [shard 0] query - SELECT * FROM my_table WHERE id = 123;

  • 使用Docker Compose时,在服务的command字段追加参数:

    services:
      scylla:
        image: scylladb/scylla
        command: --query-logging-enabled=true --log-to-stdout=true
    
  • 也可挂载自定义scylla.yaml配置文件,在文件中添加:

    query_logging_enabled: true
    log_to_stdout: true
    

    启动容器时挂载该文件:

    docker run -d --name scylla -v /path/to/your/scylla.yaml:/etc/scylla/scylla.yaml scylladb/scylla
    

方法2:在Python驱动层面开启日志(查看客户端发送的语句)

如果只需确认Python代码发送的CQL语句,可直接配置Python日志模块,让兼容Scylla的Cassandra驱动打印发送的查询:

  • 在Python代码开头添加日志配置:
    import logging
    
    # 开启Cassandra驱动的DEBUG日志
    logging.basicConfig(level=logging.DEBUG)
    logging.getLogger('cassandra').setLevel(logging.DEBUG)
    
    运行脚本后,控制台会输出驱动发送的CQL语句,以及连接、执行的相关细节。

方法3:使用Scylla系统表查询(查看近期执行的查询)

Scylla提供系统表可查询近期执行的语句,适合事后排查:

  • 进入容器的CQL shell:
    docker exec -it scylla cqlsh
    
  • 查询系统表system_traces.events(需提前开启跟踪)或system.queries(部分版本支持):
    SELECT query FROM system_traces.events WHERE activity LIKE '%CQL%';
    

内容的提问来源于stack exchange,提问作者Ashraful

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 09:05:06