查询审计
查询审计 用于检索历史查询,定位慢查询和失败请求,并结合 SQL、执行耗时、扫描量及内存等指标分析性能问题。查看当前正在执行的查询,请使用会话管理。
准备工作
登录 SelectDB Cloud 控制台,选择目标仓库,单击左侧导航栏的 查询审计。
查询审计需要启用审计日志,并使用具有查看权限的数据库用户。未开启时,按照页面指引启用;无权限时,请联系数据库管理员授权,或使用 切换用户 更换数据库身份。仓库需要有可用的计算集群来读取审计日志。
筛选历史查询
- 选择时间范围,缩小需要排查的查询区间。
- 选择 全部日志 或 慢查询,并按需选择 全部状态、成功 或 失败。
- 在结果中核对 SQL、数据库、用户及主机信息,定位需要分析的记录。
- 使用表格的自定义列功能选择所需指标,并按执行耗时、CPU、内存、扫描量等支持排序的字段调整顺序。
- 单击刷新按钮更新结果;需要持续观察时,可以设置 5 秒或 10 秒的刷新间隔。
时间筛选和记录时间应结合页面标明的时区理解。新写入的审计记录可能存在延迟,不能将查询审计列表当作实时会话列表。
查看查询详情和 Profile
- 单击目标记录的 Query ID。
- 在 查询详情 中核对 SQL、执行状态、耗时、用户、数据库及错误信息。
- 如果已生成 Profile,切换到 查询 Profile,查看执行计划和算子资源消耗,辅助定位耗时节点。
常用分析指标包括 CPU 占比耗时、内存使用峰值、扫描行数、返回行数和计算集群。高扫描量、低返回量或高内存占用可以作为排查线索,需要结合 SQL 和表结构进一步判断。
Profile 需要在查询执行时采集,不是每条审计记录都具备 Profile。未采集或记录已过期时,不能仅凭审计日志恢复完整 Profile。相关操作参见 SQL 编辑器。
下载审计结果
使用页面的下载操作导出当前筛选范围内的审计记录。下载前核对时间范围、日志类型和状态条件,避免遗漏需要分析的记录。
查询审计配置
具有相应权限的数据库管理员可以打开 查询审计配置,查看和调整:
| 配置项 | 说明 |
|---|---|
| 查询审计 | 控制是否继续写入审计日志。开启后,查询记录写入审计日志表并占用存储空间。 |
| 当前审计日志大小 | 查看审计日志的存储占用。 |
| 慢查询日志阈值 | 设置判断慢查询的耗时阈值,单位为秒。 |
| 日志保留天数 | 设置审计日志保留时间;修改异步生效。 |
核对配置后,单击 确认。部分配置仅在以数据库管理员身份登录且当前环境支持时可修改。
注意
- 关闭查询审计会停止新日志写入,已写入的日志不会因此自动清除。
- 清除 会删除已有审计日志。执行前应确认审计、排障和留存需求,并按页面提示完成确认。
- 调整保留时间可能影响可查询的历史范围。审计表占用仓库存储,应结合留存需求规划容量。