Doris慢查询语句监控
操作场景
Doris作为一个ROLAP模式的数据库,底层需依赖强大的关系型数据库引擎作为支撑。高并发、聚合查询等是常见的查询场景,但由于MRS Doris不支持慢查询管理,缺少运维监控能力,在实际问题定界过程中无法可视化地获取查询SQL的执行信息。因此需要新增Doris慢查询管理功能来提高Doris的运维监控能力。
需开启Doris慢查询功能才能在Manager界面可视化显示并管理Doris慢查询信息。默认情况下,为了减少慢查询对环境资源的影响,Doris慢查询功能是关闭的,可通过配置自定义参数“query_history_enable”开启该功能。
该功能仅适用于MRS 3.5.0及之后版本集群。
前提条件
- 已创建包含Doris服务的集群,集群内各服务运行正常。
- 待连接Doris数据库的节点与MRS集群网络互通。
- 已安装MySQL客户端,相关操作可参考使用MySQL客户端连接Doris。
开启Doris慢查询功能
- 登录FusionInsight Manager,选择“集群 > 服务 > Doris > 配置 > 全部配置 > FE(角色) > 自定义”。
- 在自定义参数“fe.conf.customized.configs”中新增“query_history_enable”参数,值为“true”。
- 单击“保存”,单击“确定”保存配置。
- 单击“实例”,勾选受影响的FE实例,选择“更多 > 重启实例”,输入当前用户密码并单击“确定”,重启FE实例使配置生效。
- 在MySQL客户端连接Doris后,执行以下命令即可查看Doris已执行的慢查询语句:
select * from __internal_schema.query_history;
- 在FusionInsight Manager界面,选择“集群 > 服务 > Doris > 查询管理”,即可查看正在进行的慢查询和已经结束的查询,还可以根据图表查看前Top 10的执行慢查询的用户名、提交慢SQL语句的客户端IP及慢查询语句,其中:
- Doris集群中Top 10使用的用户:用于统计登录Doris客户端执行慢查询排前TOP 10的Doris用户。
- Doris集群中Top 10使用的IP地址:用于统计登录Doris客户端执行慢查询排前TOP 10的客户端IP。
- Doris集群中Top 10使用的查询语句:用于统计在Doris客户端执行慢SQL频率排前TOP 10的慢查询SQL语句。
正在进行的慢查询
当前还在执行且没有返回结果的慢SQL语句信息可以通过该界面查询。
- 慢查询菜单路径
登录FusionInsight Manager,选择“集群 > 服务 > Doris > 查询管理”,单击“正在进行的慢查询”页签,相关参数介绍请参见表2。
- 慢查询过滤条件
选择对应的过滤条件,输入查询条件值进行过滤查询。
表1 慢查询界面过滤条件 条件
参数说明
慢查询运行时长大于
按照慢查询SQL语句查询累计时长过滤查询。
支持时长大于:3(s)、9(s)、15(s)、25(s)。
按查询id
根据查询界面对应慢查询语句的“查询id”字段过滤查询。
支持按照“查询id”的部分值进行模糊查询,例如,查询ID为“111-222-333-444-555”,则输入“111-222”或“-222-333”也能查询到。
按用户查询
对应执行慢查询SQL的Doris用户。
支持按照用户名的部分值进行模糊查询。
按客户端IP查询
对应慢查询SQL语句的客户端IP。
支持按照客户端IP的部分值进行模糊查询,例如,客户端IP为“192.168.0.1”,则输入“192.168”或“192.168.0”也能查询到。
已经结束的查询
已经执行完成并且已返回结果的慢查询SQL语句信息可以通过该界面查询。
界面访问路径:登录FusionInsight Manager,选择“集群 > 服务 > Doris > 查询管理”,单击“已经结束的查询”页签。
慢查询参数说明
参数名称 |
参数说明 |
---|---|
查询id |
内部生成的唯一ID。 |
查询语句 |
具体慢查询的SQL语句。 |
开始时间 |
执行慢查询SQL语句的开始时间。 |
结束时间 |
执行慢查询SQL语句的结束时间。 |
数据库 |
慢查询语句中表所在的数据库名称。 |
实例名称 |
仅在“正在进行的慢查询”页签显示,表示执行当前慢SQL查询任务的FE实例节点。 |
占用的内存空间 |
仅在“已经结束的查询”页签显示,执行慢SQL消耗的内存空间大小,单位是字节。 |
查询时长 |
慢查询SQL语句当前累计执行的时间,单位是秒。 |
用户 |
执行慢查询SQL语句的Doris用户。 |
客户端IP |
提交该慢查询SQL语句的客户端IP。 |
状态 |
慢查询SQL语句的执行状态,包括:
|
操作 |
仅在“正在进行的慢查询”页签显示,表示当前查询出来的慢SQL语句,可以单击“终止”结束该慢SQL语句查询。 |