文档首页/ MapReduce服务 MRS/ 用户指南/ MRS集群运维/ MRS集群告警处理参考/ ALM-27009 正在运行的SQL执行平均耗时超过阈值
更新时间:2026-06-10 GMT+08:00
分享

ALM-27009 正在运行的SQL执行平均耗时超过阈值

告警解释

系统每30秒周期性检查DBServer数据库正在运行的SQL执行平均耗时,默认正在运行的SQL执行平均耗时大于10秒即认为该SQL超阈值。若采集的正在运行的SQL执行平均耗时连续n次(n为设定的平滑次数,默认值为3)超过设定阈值(默认阈值为10s)时,系统将产生此告警。

当平滑次数为1,DBServer正在运行的SQL执行平均耗时小于或等于阈值时,该告警恢复;当平滑次数大于1,DBServer正在运行的SQL执行平均耗时连续n次(n为设定的平滑次数)小于阈值的90%时,该告警恢复。

本章节仅适用于MRS 3.6.0-LTS.1及之后版本。

告警属性

告警ID

告警级别

告警类型

业务类型

是否可自动清除

27009

重要

业务质量告警

FusionInsight Manager

告警参数

类别

参数名称

参数含义

定位信息

来源

产生告警的集群名称。

服务名

产生告警的服务名称。

角色名

产生告警的角色名称。

主机名

产生告警的主机名。

附加信息

门限值

告警触发的阈值。

当前值

当前采集的指标值。

对系统的影响

  • SQL长期运行时间长会导致系统资源占用高,影响其它任务获取资源。
  • 导致业务任务运行缓慢,影响用户体验。

可能原因

  • 告警阈值配置不合理。
  • 正在运行的SQL执行平均耗时较长。
    • 系统资源使用率过高导致任务运行缓慢。
    • SQL本身业务逻辑复杂或者数据量过大导致任务运行缓慢。

处理步骤

检查阈值设置是否合理

  1. 在FusionInsight Manager,选择“运维 > 告警 > 阈值设置 > 待操作集群的名称 > DBService > 数据库 > DBService正在运行的SQL执行平均耗时”,查看该告警阈值是否合理(默认值10为合理值)。

  2. 单击“操作”列的“修改”,根据实际服务的使用情况修改告警阈值。
  3. 选择“集群 > 服务 > DBService”,在“概览”页面查看“DBService正在运行的SQL执行平均耗时”图表,检查数据库SQL运行平均耗时是否低于设置的阈值。

  4. 等待2分钟查看告警是否自动恢复。

    • 是,处理完毕。
    • 否,执行步骤 5

检查正在运行的SQL执行平均耗时

  1. omm用户登录DBService主管理节点,执行以下命令登录DBService数据库。

    gsql -p 20015 -U omm -W ${数据库密码}

  2. 执行以下SQL语句,查看数据库SQL运行平均耗时是否超过阈值。

    1. 执行如下语句获取正在运行的SQL执行总耗时。

      select sum(EXTRACT(EPOCH FROM (now() - QUERY_START::timestamptz))) AS totalSeconds from pg_stat_activity where STATE = 'active' and pid <> pg_backend_pid();

    2. 执行如下语句获取正在运行的SQL数量。

      select count(1) from pg_stat_activity where STATE = 'active' and pid <> pg_backend_pid();

    3. 执行如下命令计算平均耗时,并确认平均耗时是否超过阈值。

      平均值=${任务总耗时} / ${任务总数量}

  3. 根据实际情况处理长耗时的SQL任务或者修改告警阈值,并等待2分钟,查看告警是否清除。

    • 是,执行完毕。
    • 否,执行步骤 8

收集故障信息

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

告警清除

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

参考信息

不涉及。

相关文档