更新时间:2026-11-03 GMT+08:00
分享

DWS 资源诊断最佳实践

当DWS集群出现CPU、内存或I/O等资源异常时,定位根因往往依赖运维经验,过程繁琐且耗时。DWS集群诊断面向该场景,提供资源异常的自动根因分析能力:用户只需在AI Agent对话窗口中用自然语言描述异常现象(如"CPU使用率过高"),系统即可自动采集监控指标、分析根因(区分客户侧与系统侧),并输出标准化诊断报告,帮助用户快速定位并解决问题。

功能概述

DWS集群诊断覆盖以下三类资源异常诊断,适用场景如表1所示。

表1 诊断类型与适用场景

诊断类型

适用场景

CPU高诊断

CPU使用率过高、CPU负载异常。

内存高诊断

内存使用率过高、OOM(内存溢出)、动态内存超阈值。

I/O过载诊断

I/O使用率过高、磁盘I/O负载异常、磁盘利用率(util)打满、I/O等待时间(await)偏高。

整个诊断流程基于DWS Autopilot监控指标自动完成指标采集、根因分析与报告生成,无需连接集群执行SQL,即可获得诊断结论。

使用方式

诊断Skill可通过任意支持 MCP 协议的 AI Agent 使用,包括但不限于:

无论使用哪种 Agent,触发方式和诊断流程一致。

触发诊断

在 AI Agent 对话窗口中描述集群资源异常即可触发对应诊断,系统会自动识别意图并匹配对应 Skill:

表2 触发诊断

诊断类型

触发词示例

CPU 高

"CPU高"、"CPU诊断"、"CPU使用率过高"、"CPU满"

内存高

"内存高"、"内存诊断"、"内存不足"、"OOM"、"内存溢出"

I/O 过载

"I/O高"、"I/O诊断"、"IO过载"、"磁盘IO负载异常"、"util打满"、"await高"

触发示例:

用户:我的DWS集群CPU使用率很高,帮忙诊断一下
      集群ID:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
      项目ID:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
用户:DWS集群内存不足,集群ID是xxx,项目ID是yyy

提供诊断参数

触发诊断后,系统会根据需要收集诊断参数:

表3 提供诊断参数

参数

必选/可选

说明

cluster_id

必选

集群 ID(实例 ID)

project_id

必选(I/O 诊断可选)

项目 ID

其他信息(如区域、集群名称等)系统会自动获取,无需手动提供。

诊断执行流程

诊断被触发后,将自动执行以下流程:

1. 指标采集 → 采集集群监控指标
2. 根因分析 → 分析根因,区分客户侧/系统侧
3. 报告生成 → 输出标准化诊断报告

查看诊断报告

诊断完成后,系统会生成诊断报告,可直接查看。

CPU 高诊断

自动采集集群各节点 CPU 使用率、业务并发度、活跃查询、进程 CPU 占用等指标,定位 CPU 高的根因,区分客户侧与系统侧原因。

报告内容

  • 基本信息:集群名称、区域、集群 ID、TOP 节点。
  • 诊断结论:根因分类与事实描述,定位到具体 SQL 时附带 SQL 摘要、QueryID、用户名、启动时间。
  • CPU 贡献 Top3 语句:QueryID、用户、CPU 占比、时间、SQL 文本。
  • CPU 贡献 Top3 用户:用户名与 CPU 占比。

内存高诊断

自动采集集群各节点内存使用率、实例级动态内存/进程内存、活跃会话内存占用、memory_pool 数据等指标,定位内存高的根因,区分客户侧与系统侧原因。

报告内容

  • 诊断结论:异常类型与事实描述,定位到具体 SQL 时附带定位信息。
  • 内存贡献 Top3 语句:QueryID、用户、内存占比、时间、SQL 文本。
  • 内存贡献 Top3 数据库用户:用户名与内存占比。

I/O 过载诊断

自动采集集群各节点磁盘利用率、I/O 响应时间、吞吐量、IOPS、iowait、活跃查询、等待事件、锁冲突等指标,自动判定 I/O 场景并路由到对应排查方向。

报告内容

  • 诊断结论:异常类型与事实描述。
  • 问题节点 I/O 概览:节点磁盘利用率、响应时间、吞吐量等。
  • I/O 贡献 Top3 SQL:QueryID、用户、I/O 占比、SQL 文本。
  • I/O 贡献 Top3 用户:用户名与 I/O 占比。
  • 排查信息:按场景输出的排查方向。

注意事项

  • 数据真实性:所有诊断结论来自实际监控指标,指标不可达时标记为"无法获取",不编造数据。
  • 报告格式:诊断报告仅输出诊断结论,不添加修复建议、不输出 SQL 优化语句。
  • 时间显示:报告中所有时间均为北京时间(UTC+8)。
  • 安全:对话中不会暴露 AK/SK 等凭证信息。

相关文档