StarRocks开启SQL日志
更新时间:2026-07-21
StarRocks提供SQL审计日志功能,记录集群中执行的每一条SQL语句及其执行信息,用于查询审计、性能分析和问题排查。审计日志中记录的SQL语句可直接复制执行,便于问题复现和端到端追踪。
功能概述
SQL审计日志记录了StarRocks中每条SQL的执行详情,包括执行用户、执行耗时、扫描行数、返回行数、命中的资源组和Warehouse、完整SQL语句等信息。通过审计日志,用户可以审计集群的SQL访问行为、分析慢查询、并结合QueryId关联Query Profile进行端到端的性能追踪。
开启SQL审计日志
StarRocks的SQL审计日志由前端节点(FE)记录。开启审计日志后,FE会将执行的SQL记录到审计日志文件中。
审计日志文件位置:
Plain Text
1/mnt/bmr/starrocks/fe/log/fe.audit.log
说明:审计日志功能由StarRocks的审计日志插件提供,日志记录在FE节点的日志目录下。可通过登录FE节点查看该日志文件。
日志内容说明
审计日志以每条SQL为单位记录,包含丰富的执行信息。日志样例如下:
Plain Text
12026-07-07 14:32:10.844+08:00 [query] |Timestamp=1783405930497|Client=172.18.25.26:48772|User=root|AuthorizedUser='root'@'%'|ResourceGroup=default_wg|Catalog=bmr_hive_catalog|Db=spark_hive_db|State=EOF|Time=346|ScanBytes=40|ScanRows=1|ReturnRows=1|StmtId=4572|QueryId=9547e73f-79cd-11f1-b82d-fa2c0000cabb|IsQuery=true|feIp=172.18.25.28|Stmt=SELECT p_name, p_age, COUNT(*) ... LIMIT 10|Warehouse=default_warehouse
表一 审计日志关键字段说明
| 字段 | 说明 |
|---|---|
| Timestamp | SQL执行的时间戳。 |
| User / AuthorizedUser | 执行SQL的用户及授权用户。 |
| Time | SQL执行耗时,单位为毫秒。 |
| ScanBytes / ScanRows | SQL扫描的字节数和行数。 |
| ReturnRows | SQL返回的行数。 |
| ResourceGroup | SQL命中的资源组。 |
| Catalog / Db | SQL执行所在的Catalog和数据库。 |
| Warehouse | SQL执行所属的Warehouse。 |
| QueryId | 查询的全局唯一标识,可关联Query Profile实现端到端追踪。 |
| Stmt | 完整的SQL语句,可直接复制执行。 |
| IsQuery | 是否为查询类语句。 |
使用建议
- 通过
Time字段可快速定位执行耗时较长的慢SQL。 - 通过
QueryId字段可将审计日志与Query Profile关联,进行端到端的性能分析。 - 通过
ResourceGroup和Warehouse字段可确认SQL实际命中的资源组和Warehouse,验证资源隔离策略是否生效。 Stmt字段记录完整SQL,可直接复制执行以复现问题。
注意事项
- 审计日志记录在FE节点的日志目录下,查看日志需访问对应的FE节点。
- 审计日志会持续写入,请关注日志文件的磁盘占用情况。
评价此篇文章
