更新时间:2024-09-04 GMT+08:00

ALM-45443 集群存在慢SQL查询

告警解释

系统每隔1分钟检测ClickHouse的慢SQL,当检测到有SQL的执行时间大于等于慢SQL阈值时,系统产生此告警。

当系统检测到SQL执行时间小于慢SQL阈值时,告警自动清除。

告警属性

告警ID

告警级别

是否可自动清除

45443

重要

告警参数

参数名称

参数含义

来源

产生告警的集群或系统名称。

服务名

产生告警的服务名称。

角色名

产生告警的角色名称。

主机名

产生告警的主机名。

对系统的影响

ClickHouse服务的性能下降,影响其他业务的响应时间,若慢SQL的量过大,可能会导致服务不可用。

可能原因

  • ClickHouse业务压力过大。
  • SQL语句执行耗时较长。

处理步骤

检查ClickHouse业务压力是否过大

  1. 登录FusionInsight Manager页面,选择“运维 > 告警 > 告警”,查看当前告警“定位信息”中的角色名以及确认主机名所在的IP地址。
  2. 以客户端安装用户,登录客户端的节点,执行如下命令:

    cd {客户端安装路径}

    source bigdata_env

    • 集群已启用Kerberos认证(安全模式):

      kinit 组件业务用户

      clickhouse client --host 上报告警的ClickHouseServer实例IP --port --secure

    • 集群未启用Kerberos认证(普通模式):

      clickhouse client --host 上报告警的ClickHouseServer实例IP --user 用户名 --password --port

  3. 执行以下语句,查询系统表判断是否有业务频繁写入,若有相关业务,等待业务执行完成,查看告警是否清除。

    SELECT query_id, user, FQDN(), elapsed, query FROM system.processes ORDER BY query_id;

    • 是,操作结束。
    • 否,执行4

检查SQL语句执行是否耗时较长

  1. 查看告警对象所属的逻辑集群。登录Manager页面,选择“集群 > 服务 > ClickHouse > 逻辑集群 > 查询管理 > 正在进行的慢查询”。在界面上查看哪些SQL执行耗时较长,和客户进行确认,进行业务进行调整,对慢SQL语句进行优化,是否能优化成功。

    • 是,执行5
    • 否,执行6

  2. 请等待SQL执行结束之后,查看告警是否消除。

    • 是,操作结束。
    • 否,执行6

收集故障信息

  1. 在FusionInsight Manager界面,选择“运维 > 日志 > 下载”。
  2. 在“服务”中勾选待操作集群的“ClickHouse”。
  3. 在“主机”中选择异常的主机,单击“确定”。
  4. 单击右上角的时间编辑按钮,设置日志收集的“开始时间”和“结束时间”分别为告警产生时间的前后1小时,单击“下载”。
  5. 请联系运维人员,并发送已收集的故障日志信息。

告警清除

此告警修复后,系统会自动清除此告警,无需手工清除。

参考信息

不涉及。