异常诊断

最近更新时间:2024-12-24 14:47:02

我的收藏
异常诊断功能为用户的数据库实例提供实时的性能监控、健康巡检、故障诊断,让用户既可以直观地感知数据库实例实时的运行状况,也可以定位实时出现的性能异常。

整体概览





查看诊断信息

1. 登录 DBbrain 控制台
2. 在左侧导航栏,选择诊断优化
3. 在上方选择对应的数据库类型和实例 ID,选择异常诊断页签。
4. 在页面右侧选择查看实时或历史诊断信息。



5. 查看时间轴范围内的健康得分趋势图、诊断的异常事件和实例架构图。
查看健康得分趋势图
单击趋势图中的任意时间点,显示该时间点的健康得分。



查看诊断事件条形图
鼠标悬停至诊断事件条形图时,将展示风险等级、概要和起止时间等信息,单击条形图可跳转至事件详情页面,可查看事件详情、现场描述、智能分析、优化建议等信息。查看事件详情的操作请参见 异常告警
将鼠标悬停在诊断事件时间轴上,上下滚动鼠标滑轮,可放大/缩小时间轴范围。






查看健康得分、副本集实例架构图或分片实例的实时 SQL 趋势图和实时慢 SQL 趋势图
说明:
MongoDB 副本集实例:展示健康得分和实例架构图实时数据信息。
MongoDB 分片实例:展示健康得分、实时 SQL 趋势图和实时慢 SQL 趋势图。
健康得分
展示实时的健康得分。在健康得分下单击详情,可跳转至健康报告页面,查看健康得分、得分详情和健康报告。
副本集实例架构图
实例的 Proxy 和节点架构、发生告警的节点位置,将鼠标悬浮在对应节点上,鼠标悬停至对应节点或 Proxy 上,可显示对应的指标均值。
分片实例的实时 SQL 趋势图和实时慢 SQL 趋势图
实时 SQL 趋势图:展示 aggregate、command、count、delete、getmore、insert、read、update 请求个数。
实时慢 SQL 趋势图:展示100ms 以上的请求次数和集群最大 CPU 使用率。


查看诊断提示

诊断事件显示等级分为健康、提示、告警、严重、致命。DBbrain 会定期(每10分钟)的对实例进行健康巡检。
1. 登录 DBbrain 控制台
2. 在左侧导航栏,选择诊断优化
3. 在上方选择对应的实例 ID,选择异常诊断页签。
4. 在页面右侧选择查看实时或历史诊断信息。
实时:选择实时,展示近三小时的风险分布和诊断详情。
历史:选择历史,展示已选时间段的风险分布和诊断详情。
5. 查看已选时间范围的诊断提示。



查看诊断事件详情
诊断详情中,单击具体的事件告警所在行,或者鼠标悬停至事件告警上,单击查看,进入事件详情页面,查看事件详情。
事件详情主要包括事件详情、现场描述、智能分析、优化建议等信息。诊断类型不同展示的事件详情不同,请以实际展示为准。
事件详情:包括诊断项、起止时间、风险等级、概要等信息。
AI 洞察:展示各节点的洞察结果。
现场描述:异常事件(或健康巡检事件)的外在表现现象的快照和性能趋势等信息。
优化建议:给出异常诊断事件的优化建议。



忽略/取消忽略告警
诊断详情中,鼠标悬停至事件告警上,单击忽略,可选择忽略本条忽略此类型,单击确定。同时支持在事件详情页忽略告警。
说明:
该功能仅针对诊断项为非“健康巡检”的异常告警。
忽略本条:仅忽略本条告警。
忽略此类型:忽略后,由相同根因产生的异常告警也将被忽略。
已被忽略的诊断事件,将会被置为灰色。若需取消忽略,也可单击取消忽略

诊断项详细说明

诊断项为智能诊断的项目,其类别包括性能、可用性、可靠性、可维护性四类,每个诊断项仅属于一个类别。
诊断项名称
诊断项类别
说明
风险等级划分
节点连通性检查
可用性
数据库连接异常,无法连接数据库实例
致命
读等待队列高
性能
在进行读操作时,等待访问数据库的请求数量较多
提示:读等待队列 ≥ 64,且持续时间 ≥ 1分钟
告警:读等待队列 ≥ 64,且持续时间 ≥ 10分钟
严重:读等待队列 ≥ 64,且持续时间 ≥ 30分钟
致命:读等待队列 ≥ 64,且持续时间 ≥ 60分钟
写等待队列过高
性能
在进行写操作时,等待访问数据库的请求数量较多
提示:写等待队列 ≥ 64,且持续时间 ≥ 1分钟
告警:写等待队列 ≥ 64,且持续时间 ≥ 10分钟
严重:写等待队列 ≥ 64,且持续时间 ≥ 30分钟
致命:写等待队列 ≥ 64,且持续时间 ≥ 60分钟
连接过多
可用性
数据库连接数过多
提示:70%>连接数利用率 ≥ 60%
告警:80%>连接数利用率 ≥ 70%
严重:90%>连接数利用率 ≥ 80%
致命:连接数利用率 ≥ 90%
主从延迟
可维护性
主从节点数据同步延迟过大
提示:10分钟>主从延迟 ≥ 1分钟
告警:30分钟>主从延迟 ≥ 10分钟
严重:60分钟>主从延迟 ≥ 30分钟
致命:主从延迟 ≥ 60分钟
Oplog 保存时间
可维护性
Oplog 保存时间过长
提示:480分钟>Oplog保存时间 ≥ 120分钟
告警:120分钟>Oplog保存时间 ≥ 60分钟
严重:60分钟>Oplog保存时间 ≥ 30分钟
致命:Oplog保存时间<30分钟
缓存使用高
性能
数据库的内存缓存使用率较高
提示:WT 缓存使用率超过95%,且持续时间1分钟
告警:WT 缓存使用率超过95%,且持续时间5分钟
严重:WT 缓存使用率超过95%,且持续时间10分钟
致命:WT 缓存使用率超过95%,且持续时间30分钟
脏缓存过高
性能
内存中存在大量未写入磁盘的数据
提示:Cache Dirty 超过20%,且持续时间1分钟
告警:Cache Dirty 超过20%,且持续时间5分钟
严重:Cache Dirty 超过20%,且持续时间10分钟
致命:Cache Dirty 超过20%,且持续时间30分钟
入流量过高
性能
数据库接收到的请求或数据流量超过了其处理能力
提示:1000MB>节点入流量 ≥ 800MB
告警:1200MB>节点入流量 ≥ 1000MB
严重:1500MB>节点入流量 ≥ 1200MB
致命:节点入流量 ≥ 1500MB
节点出流量过高
性能
某个节点(如主节点或从节点)向外部发送的数据流量过大
提示:1000MB>节点出流量 ≥ 800MB
告警:1200MB>节点出流量 ≥ 1000MB
严重:1500MB>节点出流量 ≥ 1200MB
致命:节点出流量 ≥ 1500MB
磁盘利用率过高
可用性
数据库实例的磁盘使用率接近或达到其最大容量
提示:80%>磁盘利用率 ≥ 60%
告警:90%>磁盘利用率 ≥ 80%
严重:95%>磁盘利用率 ≥ 90%
致命:磁盘利用率 ≥ 95%
内存利用率过高
可用性
数据库实例的内存使用率接近或达到其最大容量
提示:80%>内存利用率 ≥ 70%
告警:90%>内存利用率 ≥ 80%
严重:95%>内存利用率 ≥ 90%
致命:内存利用率 ≥ 95%
CPU 利用率过高
可用性
数据库实例的 CPU 使用率接近或达到其最大容量
提示:80%>CPU 利用率 ≥ 60%
告警:90%>CPU 利用率 ≥ 80%
严重:95%>CPU 利用率 ≥ 90%
致命:CPU 利用率 ≥ 95%
节点内存超限
可用性
某个 MongoDB 实例或节点的内存使用量超过了其配置的限制
致命
慢查询
性能
执行时间较长的查询,这些查询可能会影响数据库的性能和响应时间
提示:发生慢 SQL,且 CPU 利用率 ≤ 40%
告警:发生慢 SQL,且40%<CPU 利用率 ≤ 60%
严重:发生慢 SQL,且60%<CPU 利用率 ≤80%
致命:发生慢 SQL,且 CPU 利用率 > 80%
实时活跃会话过高
可用性
同时连接到数据库的会话数量超过了系统的承载能力
提示:100000>活跃会话 ≥ 2000
告警:400000>活跃会话 ≥ 100000
严重:900000>活跃会话 ≥ 400000
致命:活跃会话 ≥ 900000
节点 pageheap 内存过高
可用性
使用的内存量超过了预期
通知