诊断Skill

更新时间:
复制为 MD 格式

AnalyticDB for MySQL诊断Skill(alibabacloud-analyticdb-mysql-copilot)内置于ADBClaw,通过自然语言对话,即可完成集群查询、性能监控、慢查询诊断和表级分析等诊断任务。

image.png

前提条件

  1. 创建RAM角色

    RAM控制台创建名为adbclaw-diagnosis-roleRAM角色。信任主体类型选择云服务信任主体名称选择云原生数据仓库 AnalyticDB MySQL 版。具体操作,请参见创建可信实体为阿里云服务的RAM角色

    角色信任策略配置如下:

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "Service": [
              "ads.aliyuncs.com"
            ]
          }
        }
      ],
      "Version": "1"
    }
  2. 授予权限

    创建自定义权限策略,策略内容至少包含以下权限,然后将该策略绑定到上述RAM角色,具体操作,请参见管理RAM角色的权限

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "adb:DescribeDBClusters",
            "adb:DescribeDBClusterAttribute",
            "adb:DescribeDBClusterPerformance",
            "adb:DescribeDBClusterSpaceSummary",
            "adb:DescribeDiagnosisRecords",
            "adb:DescribeBadSqlDetection",
            "adb:DescribeSQLPatterns",
            "adb:DescribeTableStatistics",
            "adb:DescribeAvailableAdvices",
            "adb:DescribeExcessivePrimaryKeys",
            "adb:DescribeOversizeNonPartitionTableInfos",
            "adb:DescribeTablePartitionDiagnose",
            "adb:DescribeInclinedTables"
          ],
          "Resource": "*"
        }
      ]
    }
    说明

    如果在ADBClaw开通时该角色尚未创建,后续创建角色后需等待约5分钟才能生效。

  3. 开通公网访问

    诊断Skill功能需要访问公网,公网开通方式,请参见步骤五(可选):开通公网访问能力

核心功能

集群查询

查询集群列表及详细属性,快速掌握集群资产全貌。

支持的查询项

  • 集群列表(按地域筛选)

  • 集群详细属性(规格、版本、状态)

  • 存储空间概览

集群信息_2026-04-02 200551_compressed.gif

慢查询诊断

自动检测BadSQL、分析SQL Pattern、引导式定位根因,从“发现慢SQL”到“找到为什么慢”一步到位。

诊断能力

  • BadSQL检测:自动识别影响集群稳定性的异常SQL。

  • SQL Pattern分析:统计SQL模式的平均耗时、最大耗时、扫描量等,按多种维度排序。

  • 运行中SQL分析:查看当前正在执行的SQL,识别高资源消耗操作。

慢查询_2026-04-02 201804_compressed.gif

空间诊断

并行执行多项检查,汇总输出集群健康报告。

诊断范围

  • 过大非分区表检测

  • 分区合理性诊断

  • 主键合理性诊断

  • 数据倾斜诊断

  • 复制表合理性诊断

  • 空闲索引优化建议

  • 冷热表优化建议

空间诊断_2026-04-02 202025_compressed.gif

使用示例

ADBClaw对话框中,输入以下自然语言指令即可触发对应的诊断操作:

场景

自然语言指令

实例查找

查询杭州地域有哪些 AnalyticDB for MySQL实例?

慢查询诊断

针对张家口实例amv-xxx,帮我做一下慢查询诊断,时间范围是最近2小时

空间诊断

对张家口实例amv-xxx执行空间诊断

数据倾斜

amv-xxx这个实例有没有表数据倾斜?查一下事实表的倾斜情况

分区合理性

amv-xxx分区合理性诊断,看看有没有分区设计不合理的表

过大非分区表

查一下amv-xxx里有没有过大的非分区表

复制表诊断

amv-xxx复制表合理性诊断,有没有不合理的复制表

空闲索引

amv-xxx有没有空闲索引可以清理?想省点存储和写入

冷热表优化

amv-xxx 冷热表优化建议,哪些表可以转冷存储

常见问题

Skill没有响应或无法识别指令

请依次排查以下项:

  • 集群ID格式是否正确(am-xxxamv-xxx

  • 是否指定了正确的地域

  • 角色是否已正确配置

  • 是否已开通公网NAT

权限不足

如果API调用返回权限错误,需要为当前账号授予对应的RAM权限。

查询结果为空

查询无结果时,请确认以下几点:

  • 时间范围是否合理(默认查询最近1小时)。

  • 集群是否处于正常运行状态。

  • 对应诊断数据是否已生成(如优化建议数据通常每日凌晨生成,当天可能暂无数据)。