查看或下载慢日志
操作场景
慢日志用来记录执行时间超过当前慢日志阈值“log_min_duration_statement”的语句,您可以通过慢日志的日志明细、统计分析情况,查找出执行效率低的语句,进行优化。您也可以下载慢日志进行业务分析。
参数解析
| 参数名称 | 说明 |
|---|---|
| log_min_duration_statement | 设置最小执行时间,执行时间大于等于这个值的语句都将被记录。 参数值变小会导致日志记录增加,进而增加磁盘I/O消耗,降低SQL性能。 |
| log_statement | 设置记录语句的类型,允许值为:none、ddl、mod。 |
查看或下载慢日志
- 明文显示的日志30天后会自动删除。如果实例删除,相关日志也同步删除。
- 开启慢日志明文显示后,只对开启后生成的慢日志生效,开启之前的历史慢日志不会明文显示。
- 登录RDS管理控制台。
- 单击管理控制台左上角的
,选择区域。 - 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
- 在左侧导航栏单击,右侧选择“慢日志”。
- 在“日志明细”页签下,单击“开启慢日志明文显示”右侧开关
。 图1 开启慢日志明文显示
- 在弹出框中,单击“确定”,开启慢日志明文显示功能。 图2 确认开启明文显示
- 登录RDS管理控制台。
- 单击管理控制台左上角的
,选择区域。 - 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
- 在左侧导航栏单击,右侧选择“慢日志”。
- 在“日志明细”页签下,查看慢SQL语句的详细信息。 图3 慢日志明细
- 慢日志功能支持查看指定执行语句类型或时间段的慢日志记录。
- 针对当前的慢日志功能, 阈值参数“log_min_duration_statement”可以控制SQL响应时间为多少而生成一条慢日志记录,只会影响新增的部分。比如慢日志阈值参数为100毫秒时,上报了超过100毫秒的慢日志记录,后续调整为1000毫秒,原有上报的日志仍然会展示。
- 目前支持最多查询并导出2000条慢日志明细。
表2 慢日志明细说明 类别
说明
执行语句
慢日志为记录执行完毕且执行耗时超过阈值的语句,没有执行完毕的语句是不会记录的。
语句类型
- 您可以在页面右上角筛选以下执行语句类型:全部、SELECT、INSERT、UPDATE、DELETE、CREATE、DROP、ALTER、DO、CALL、COPY、WITH、OTHER。
- 您还可以单击右上角的
选择时间区域,查看不同时间段内的慢日志。 最多支持查看近1个月的慢日志。
发生时间
慢SQL开始执行的UTC时间。
执行时间(秒)
慢SQL持续时间。
所属数据库
执行SQL语句所在的数据库。
账号
执行SQL语句的账号。
IP地址
连接数据库的host。
- 登录RDS管理控制台。
- 单击管理控制台左上角的
,选择区域。 - 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
- 在左侧导航栏单击,右侧选择“慢日志”。
- 选择“统计分析”,查看详细信息。 图4 统计分析日志
表3 慢日志统计分析说明 类别
说明
Query ID
用来唯一标识和归类某一类结构相同、参数不同的SQL查询的哈希数字签名。
执行语句
慢日志的“统计分析”页签中显示的SQL语句只是同一模式的SQL语句中的一个,作为示例,并不会列出所有的SQL语句。例如:先后执行了语句"select sleep(1)"和"select sleep(2)",则它们同属于模式"select sleep(N)",慢日志的结果中只会显示SQL语句"select sleep(1)"。
语句类型
您可以在页面右上角筛选以下执行语句类型:全部、SELECT、INSERT、UPDATE、DELETE、CREATE、DROP、ALTER、DO、CALL、COPY、WITH、OTHER。
SQL执行次数与占比
选定时间段内该类SQL语句执行慢的次数,以及选定时间段内该类SQL执行慢的次数占所有慢SQL执行次数的百分比。
平均执行时间(秒)
选定时间段内平均慢SQL持续时间。
所属数据库
执行SQL语句所在的数据库。
执行IP
连接数据库的host。
执行用户
执行SQL语句的账号。
操作
单击“一键限流”,对该条语句设置限流规则。更多限流操作,请参见新建SQL限流规则。
- 最大并发数:满足同一规则的语句最大并发数,超过最大并发数会被拒绝执行。上限值50000,为0表示不限制最大并发数。
- 最大等待时间(s):被限流SQL的等待时间,取值范围为0~1000000000。
图5 一键限流
- 登录RDS管理控制台。
- 单击管理控制台左上角的
,选择区域。 - 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
- 在左侧导航栏单击,右侧选择“慢日志”。
- 选择“下载”页签,对状态为“准备完成”的日志文件,单击操作列中的“下载”,下载慢日志。
- 建议下载的单条日志不超过10000行并且日志大小不超过10MB,否则下载的日志信息会被截断。
- 系统会自动加载下载准备任务,加载时长受日志文件大小及网络环境影响。
- 下载准备过程中,日志文件状态显示为“准备中...”。
- 下载准备完成,日志文件状态显示为“准备完成”。
- 下载准备工作失败,日志文件状态显示为“异常”。
“准备中...”和“异常”状态的日志文件不支持下载。
- 支持下载最新生成的40-100MB的文件。
- 下载链接有效期为5分钟。如果超时,提示用户下载链接已失效,是否重新下载。若需重新下载,单击“确定”,否则单击“取消”。
配置LTS慢日志并查看分析视图
部分区域如需使用LTS配置,请提交工单申请。
- 登录RDS管理控制台。
- 单击管理控制台左上角的
,选择区域。 - 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页。
- 在左侧导航栏单击,右侧选择“慢日志”。
- 单击页面右上方的“对接LTS配置”。
- 在右侧弹框中,勾选“日志对接LTS”,日志类型选择慢日志,在下拉框分别选择对应的日志组和日志流,单击“确定”。 图6 LTS慢日志配置
- 如果已经配置LTS慢日志,在页面右上方,支持切换成分析视图,查看更详细的日志分析。 图7 列表视图
图8 分析视图
- 在“日志搜索”页签,支持查看快速分析下方的结构化字段和索引配置字段、以及查看并下载日志内容。更多功能介绍,请参见搜索与分析日志。
关于分析视图中“原始日志”页面各字段说明,请参见表4。
表4 LTS慢日志字段说明 参数
说明
log_type
日志类型,固定值slow_log。
instance_id
实例ID。
node_id
实例下的节点ID。
_resource_id
资源ID,固定值DBS_LOG,用户无需关注。
_resource_name
资源名称,固定值DBS_LOG,用户无需关注。
_service_type
服务类型,固定值DBS。
service_name
服务名称,固定值POSTGRESQL。
operate_type
执行的SQL语句类型,例如SELECT、INSERT、UPDATE、DELETE、CREATE、DROP、ALTER、DO、CALL、COPY、WITH、OTHER。
query_id
用来唯一标识和归类某一类结构相同、参数不同的SQL查询的哈希数字签名。
count
当前SQL的条数,固定值1。
log_time
慢SQL开始执行的UTC时间。
log_timestamp
慢SQL开始执行的秒级时间戳。
database
执行SQL语句所在的数据库。
statement
执行时间超过当前慢日志阈值的SQL语句。
host
连接数据库的host。
user
执行SQL语句的账号。
execute_time
慢SQL持续时间(毫秒)。
project_id
项目ID。在界面右上角用户名的下拉列表中,单击“我的凭证”,即可查看项目ID。
- 在“统计图表”页签,支持使用表格、柱状图、折线图等图表类型展示不同场景数据。更多功能介绍,请参见统计图表概述。
- 在“日志分析”页签,支持对采集成功的日志数据进行搜索与分析。更多功能介绍,请参见日志搜索与分析概述。
- 在“实时日志”页签,支持查看实时上报的日志,实现对日志数据的快速检索与分析。更多功能介绍,请参见查看实时日志。
- 在“日志搜索”页签,支持查看快速分析下方的结构化字段和索引配置字段、以及查看并下载日志内容。更多功能介绍,请参见搜索与分析日志。