我有一个在 AWS 上运行 CockroachDB 的应用程序,并且想要记录它执行的所有查询。但是,我在集群的日志中找不到任何似乎包含查询的内容。我尝试通过它们查找我的应用程序SELECT
语句,但找不到它们。
有没有办法启用查询日志记录?
我有一个在 AWS 上运行 CockroachDB 的应用程序,并且想要记录它执行的所有查询。但是,我在集群的日志中找不到任何似乎包含查询的内容。我尝试通过它们查找我的应用程序SELECT
语句,但找不到它们。
有没有办法启用查询日志记录?
另一个答案已经过时了。有两种机制:
对于定期检查/故障排除,应使用此处记录的 SQL 语句执行日志记录:https ://www.cockroachlabs.com/docs/stable/query-behavior-troubleshooting.html#cluster-wide-execution-logs
访问审计(例如监管需要时)使用审计日志:https ://www.cockroachlabs.com/docs/stable/sql-audit-logging.html
使用 cockroach start 启动节点时,包含该--vmodule=executor=2
标志以记录所有 SQL 查询。例如:
cockroach start --background --vmodule=executor=2
您可以从存储在的日志文件中访问日志cockroach-data/logs
如果您对记录运行“太长”的查询感到好奇,请将 env var 设置COCKROACH_TRACE_SQL
为一个持续时间,以记录比该持续时间更长的所有查询。
也可以在启动服务器后通过http://[admin UI URL]/debug/vmodule/executor=2
使用与管理 UI 相同的主机/端口访问 URL 来激活此日志记录。