PolarDB PostgreSQL版(兼容Oracle)的SQL洞察功能为您的数据库提供健康情况诊断、性能问题排查等增值服务。
功能介绍
数据库自治服务DAS在全量请求和安全审计的基础上,融合了搜索、SQL洞察、安全审计以及流量回放和压测等功能,帮助您更好地获取SQL语句的具体信息、排查各种性能问题、识别高危风险来源、验证集群规格是否需要扩容,有效应对业务流量高峰。
搜索功能:查询并导出SQL语句及对应的各种信息,如数据库、状态、执行时间等,详情请参见审计。
说明在SQL洞察和审计控制台页面中开启或关闭审计日志,会变更内核参数
log_statement
。开启审计日志会设置
log_statement = all
。关闭审计日志会设置
log_statement = ddl
。
SQL洞察功能:对SQL进行健康情况诊断、性能问题排查、业务流量分析等,详情请参见SQL洞察。
SQL Review功能:提供全局SQL负载分析能力,辅助用户快速定位到数据库实例中的可疑SQL,并对可疑SQL进行分析,给出相应的优化建议,具体操作请参见SQL Review。
流量回放和压测功能:提供流量回放和压测功能,帮助您验证您的实例规格是否需要扩容,有效应对业务流量高峰,具体操作请参见流量回放和压测。
安全审计功能:可自动识别高危SQL、SQL注入、新增访问来源等风险,详情请参见安全审计。
事务分析功能:通过事务分析功能,您可以获知指定时间段内某进程的事务类型、事务数量及事务详情,便于从事务层面了解、分析和优化数据库性能,具体操作请参见事务分析。
快速事务分析功能:通过快速事务分析功能,可以获知待分析SQL所在事务的开始语句和结束语句,从而获知事务的提交或回滚情况,具体操作请参见快速事务分析。
支持地域
开启DAS企业版后,才可以使用该企业版提供的SQL洞察和审计功能,不同的企业版支持的地域不同。详细请参见各个版本支持的数据库和地域。
影响
开启SQL洞察功能可以记录所有DQL、DML和DDL操作信息,这些信息是通过数据库内核输出,对系统CPU消耗极低。
注意事项
如果是RAM用户,使用搜索功能时,需要为RAM用户授予AliyunPolardbReadOnlyWithSQLLogArchiveAccess权限。如何为RAM用户授权,请参见创建和管理RAM用户。
您也可以通过自定义权限策略授予RAM用户使用搜索(包含导出)功能的权限,详情请参见通过自定义权限策略授权RAM用户使用SQL洞察和审计的搜索(包含导出)功能。
费用
企业版V0
SQL洞察功能的付费方式仅支持按量付费,不支持包年包月。其相关费用归属于云原生数据库PolarDB。
价格
中国内地地域:0.008元/GB/小时。
中国香港及海外地域:0.0122元/GB/小时。
企业版V0以上版本
SQL洞察功能相关费用归属于数据库自治服务DAS。有关具体信息,请参见数据库自治服务DAS产品计费说明。
开通SQL洞察
登录PolarDB控制台。
在控制台左上角,选择地域。
单击目标集群ID。
在左侧导航栏中,选择 。
单击开启SQL洞察。
如果您当前的阿里云账号未开通DAS企业版,请按照界面提示,开通DAS企业版。
单击对应功能页签即可查看相关信息。
区间查看:选择需要查看SQL洞察结果的时间范围,您可以查看选定时间范围内所有SQL的执行耗时分布、执行耗时、执行次数。您还可以在全量请求统计区域内查看选定时间范围内所有SQL的详细信息,并可以将其导出到本地。
说明最多支持导出1000条SQL日志,如果您需要获取更大时间范围、数量更多的SQL日志,可以通过审计功能。
对比查看:选择需要对比SQL洞察结果的时间点,您可以查看所有SQL执行耗时分布、执行耗时、执行次数的对比结果。您还可以在请求对比列表区域内查看详细的对比结果。
来源统计:选择需要统计SQL来源的时间范围,您可以查看选定时间范围内所有SQL的来源信息。
参数说明
执行耗时分布:展示了选定时间范围内,所有SQL的执行耗时分布,将执行耗时分为了7个区间,每分钟计算一次,分别是:
[0,1]ms 是指满足0ms ≤ 执行耗时 ≤ 1ms SQL执行次数占比
(1,2]ms 是指1ms < 执行耗时 ≤ 2ms SQL执行次数占比
(2,3]ms 是指2ms < 执行耗时 ≤ 3ms SQL执行次数占比
(3,10]ms 是指3ms < 执行耗时 ≤ 10ms SQL执行次数占比
(10,100]ms 是指10ms < 执行耗时 ≤ 100ms SQL执行次数占比
(0.1,1]s 是指0.1s < 执行耗时 ≤ 1s SQL执行次数占比
>1s 是指1s < 执行耗时 SQL执行次数占比
说明如果一个集群的执行耗时分布越接近蓝色,代表这个实例的SQL健康情况越好,越接近橙色和红色,代表这个实例的SQL健康情况越差。
执行耗时:通过执行耗时,可以方便地查看在选定的时间范围内,SQL的执行耗时。
全量请求统计:展示了选定时间范围内每一类SQL的SQL文本、耗时比例、平均执行耗时、执行趋势等信息。
说明耗时比例=(该类SQL执行耗时 × 执行次数)/(所有SQL执行耗时 × 总执行次数)× 100%。耗时比例越高的SQL,占用集群资源越多。
SQL ID:单击SQL ID,您可查看该类SQL性能趋势、SQL样本等。
SQL样本:通过SQL样本,查看该SQL是由哪个应用端发起。
说明SQL样本的编码采用UTF-8字符集。
修改SQL日志的存储时长
登录PolarDB控制台。
在控制台左上角,选择地域。
单击目标集群ID。
在左侧导航栏中,选择 。
单击右上角服务设置。
修改存储时长,单击确定。
如果您开通了DAS企业版V3,您可以修改不同子功能的数据存储时长。
说明SQL洞察数据的存储空间是由DAS侧提供,不占用数据库实例的存储空间。
导出SQL记录
登录PolarDB控制台。
在控制台左上角,选择地域。
单击目标集群ID。
在左侧导航栏中,选择 。
单击审计页签右侧导出。
在弹出的对话框中,勾选需要的导出字段,选择导出时间范围,单击确定。
在需要导出SQL明细数据?弹窗中,设置任务名称和CSV分隔符,单击确认提交任务。
说明任务一旦提交,无法中途取消。
如果任务失败,不会收取费用。
任务相关数据仅保留7天。
任务相关数据仅导出1000万条记录(若明细导出的结果已超出1000万条记录,可减少导出的时间段)。
系统需要约5分钟时间来处理和归档最新数据。如果您需要导出最新数据,可以稍后再次尝试导出。
导出完成后,单击SQL洞察页面右上角任务列表,单击目标任务操作描述列的下载,下载已导出的文件。
关闭SQL洞察
SQL洞察功能关闭后,SQL审计日志会被清空。请将SQL审计日志导出并保存至本地后,再关闭SQL洞察和审计功能。当重新开启SQL洞察和审计功能时,SQL审计日志将从本次开启SQL洞察和审计的时间开始记录。
登录PolarDB控制台。
在控制台左上角,选择地域。
单击目标集群ID。
在左侧导航栏中,选择 。
单击服务设置,关闭SQL洞察和审计。
如果您开通了DAS 企业版V3,请去掉SQL洞察和审计所有功能的勾选,单击提交。
说明关闭SQL洞察和审计功能约1小时后,系统会释放SQL洞察和审计数据占用的存储空间。
选中温馨提示,单击提交并退订。
查看审计日志大小和消费明细
登录阿里云管理控制台,在页面右上角,选择费用。
在左侧费用与成本导航栏中,选择 。查看计费项列为sql_explorer的费用明细。
在账单详情页面,设置搜索实例ID进行搜索。查看计费项列为sql_explorer的费用明细。