异常诊断

最近更新时间: 2026-06-30 15:06:00

异常诊断功能为用户的数据库实例提供实时的性能监控、健康巡检、故障诊断和优化,让用户既可以直观地感知数据库实例实时的运行状况,也可以定位实时出现的性能异常,并根据优化建议进行系统优化。异常诊断支持查看实例或分片的实时和历史异常诊断信息。

整体概览

查看诊断信息

  1. 登录 DBbrain 控制台。
  2. 在左侧导航栏,选择诊断优化。
  3. 在上方选择对应的实例 ID 或分片 ID,选择异常诊断页签。
  4. 在页面右侧选择查看实时或历史诊断信息。
  5. 查看时间轴范围内的健康得分趋势图和诊断的异常事件、 3D 拓扑视图或平面视图。
    • 查看健康得分趋势图
      单击趋势图中的任意时间点,显示该时间点的健康得分,同时下方联动展示以下信息:
      健康得分、CPU、内存、总请求数、慢查询数、SQL 语句类型每秒执行的次数将联动展示该时间点的数据信息。
      在健康得分下单击详情,可跳转至健康报告页面,查看健康得分、得分详情和健康报告。
    • 查看诊断事件条形图
      鼠标悬停至诊断事件条形图时,将展示风险等级、概要和起止时间等信息,单击条形图可跳转至事件详情页面,可查看事件详情、现场描述、智能分析、优化建议等信息。查看事件详情的操作请参见 异常告警

    • 查看视图
      选择3D平面,查看视图。视图中将展示磁盘层(包括数据空间、日志空间、各参数值)、引擎层(回滚次数、锁等待次数、各参数值)、server 层(连接数、各参数值)等相关信息,并可单击查看配置信息,鼠标悬停至连接处序号,可显示相关数据信息。

查看诊断提示

  1. 登录 DBbrain 控制台。
  2. 在左侧导航栏,选择诊断优化。
  3. 在上方选择对应的实例 ID 或分片 ID,选择异常诊断页签。
  4. 在页面右侧选择查看实时或历史诊断信息。
    • 实时:选择实时,展示近三小时的风险分布和诊断详情。
    • 历史:选择历史,展示已选时间段的风险分布和诊断详情。
  5. 查看已选时间范围的诊断提示。
    • 查看诊断事件详情
      诊断提示中,单击具体的事件告警所在行,或者鼠标悬停至事件告警上,单击查看,进入事件详情页面,查看事件详情。
      事件详情主要包括事件详情、现场描述、智能分析、优化建议等信息。诊断类型不同展示的事件详情不同,请以实际展示为准。

      • 事件详情:包括诊断项、起止时间、风险等级、概要等信息。
      • 现场描述:异常事件(或健康巡检事件)的外在表现现象的快照和性能趋势。
      • 智能分析:分析导致性能异常的根本原因,定位具体操作。
      • 优化建议:提供优化指导建议,包括但不限于 SQL 优化(索引建议、重写建议)、资源配置优化和参数调优。
    • 忽略/取消忽略告警
      诊断详情中,鼠标悬停至事件告警上,单击忽略,可选择忽略本条忽略此类型,单击确定。同时支持在事件详情页忽略告警。

      说明:

      该功能仅针对诊断项为非“健康巡检”的异常告警。

      • 忽略本条:仅忽略本条告警。
      • 忽略此类型:忽略后,由相同根因产生的异常告警也将被忽略。
        已被忽略的诊断事件,将会被置为灰色。若需取消忽略,也可单击取消忽略

诊断项说明

诊断项为智能诊断的项目,其类别包括性能、可用性、可靠性、可维护性四类,每个诊断项仅属于一个类别。

诊断项名称 诊断项类别 说明 风险等级划分
插入、更新、删除慢 性能 执行插入、更新或删除操作时,需要花费较长的时间才能完成 - 严重:锁等待导致
- 告警:非锁等待导致
执行中慢会话 性能 存在需要优化的慢查询语句 提示
等待行锁 性能 存在等待锁时间过长的事务 严重
事务未提交 性能 存在过长时间的未提交的事务 致命
DDL 语句等待 Metadata Lock 性能 存在等待 Metadata Lock 的线程,且其在执行 DDL 语句 严重
insert, update, delete 语句等待 Metadata Lock 性能 存在等待 Metadata Lock 的线程,且其在执行 IUD 语句 严重
select 语句等待 Metadata Lock 性能 存在等待 Metadata Lock 的线程,且其在执行 SELECT 语句 严重
死锁 可靠性 数据库发生死锁 致命
只读锁 性能 存在等待全局只读锁的线程 致命
SQL 语句等待 Metadata Lock 性能 存在等待 Metadata Lock 的线程,且其在执行非 DDL、IUD、SELECT 语句 告警
Waiting for flush tables 性能 存在等待 flush table 状态的线程 - 致命:活跃会话数 > 30
- 严重:30 > 活跃会话数 > 20
- 告警:活跃会话数 < 20
活跃会话高 性能 活跃会话数大于三倍的数据库实例 CPU 规格 提示
高并发/压力请求 性能 产生高并发或者压力请求 - 致命:CPU 利用率 > 80
- 严重:80 > CPU 利用率 > 60
- 告警:60 > CPU 利用率 > 40
预编译语句过多 性能 出现未关闭预编译语句个数过多(16382是 MySQL 默认允许的最大值) - 致命:预编译语句个数 > 16382
- 严重:16382 > 预编译语句个数 > 14695
- 告警:14695 > 预编译语句个数 > 11505
- 提示:预编译语句个数< 11505
磁盘空间利用率 可靠性 磁盘利用率过高 - 致命:磁盘利用率 > 95
- 严重:95 > 磁盘利用率 > 90
- 告警:90 > 预编译语句个数 > 85
- 提示:85 > 预编译语句个数 > 80
CPU 利用率 性能 CPU 利用率过高 - 致命:CPU 利用率 > 80
- 严重:80 > CPU 利用率 > 60
- 告警:60 > CPU 利用率 > 40
Table open cache 命中率低 性能 Table open cache 命中率低 告警
高危账号 可维护性 存在匿名账户、无密码账户等情况 提示
大表 可维护性 单表大于10%的实例磁盘规格 - 致命:单表所占空间 > 磁盘容量的40%
- 严重:磁盘容量的40% > 单表所占空间 > 磁盘容量的30%
- 告警:磁盘容量的30% > 单表所占空间 > 磁盘容量的20%
- 提示:磁盘容量的20% > 单表所占空间 > 磁盘容量的10%
复制 IO 线程中断 可靠性 主从中断,复制 IO 线程中断 - 致命:非重启导致中断
- 提示:重启导致中断
复制 SQL 线程中断 可靠性 主从中断,复制 SQL 线程中断 致命:非重启导致中断
DDL 导致复制延迟 可靠性 DDL 导致的主从复制延迟(包括主-只读,主-备库延迟)
- 致命:只读延迟 > 10min
- 严重:只读延迟<10min 或备库延迟 > 10 min
- 告警:备库<10min
事务导致复制延迟 可靠性 事务导致的主从复制延迟(包括主-只读,主-备库延迟) - 致命:只读延迟 > 10min
- 严重:只读延迟<10min 或备库延迟 > 10 min
- 告警:备库<10min
全局只读锁导致复制延迟 可靠性 全局只读锁导致的主从复制延迟(包括主-只读,主-备库延迟) - 致命:只读延迟 > 10min
- 严重:只读延迟<10min 或备库延迟 > 10 min
- 告警:备库<10min
自增键耗尽 可用性 自增值超过自增主键最大值80% 致命:自增值超过最大值80%
复制延迟 可用性 主从复制延迟(包括主-只读,主-备库延迟) - 致命:只读延迟 > 10min
- 严重:只读延迟<10min 或备库延迟 > 10 min
- 告警:备库<10min