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

前提条件
创建RAM角色
在RAM控制台创建名为
adbclaw-diagnosis-role的RAM角色。信任主体类型选择云服务,信任主体名称选择云原生数据仓库 AnalyticDB MySQL 版。具体操作,请参见创建可信实体为阿里云服务的RAM角色。角色信任策略配置如下:
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "ads.aliyuncs.com" ] } } ], "Version": "1" }授予权限
创建自定义权限策略,策略内容至少包含以下权限,然后将该策略绑定到上述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分钟才能生效。
开通公网访问
诊断Skill功能需要访问公网,公网开通方式,请参见步骤五(可选):开通公网访问能力。
核心功能
集群查询
查询集群列表及详细属性,快速掌握集群资产全貌。
支持的查询项:
集群列表(按地域筛选)
集群详细属性(规格、版本、状态)
存储空间概览

慢查询诊断
自动检测BadSQL、分析SQL Pattern、引导式定位根因,从“发现慢SQL”到“找到为什么慢”一步到位。
诊断能力:
BadSQL检测:自动识别影响集群稳定性的异常SQL。
SQL Pattern分析:统计SQL模式的平均耗时、最大耗时、扫描量等,按多种维度排序。
运行中SQL分析:查看当前正在执行的SQL,识别高资源消耗操作。

空间诊断
并行执行多项检查,汇总输出集群健康报告。
诊断范围:
过大非分区表检测
分区合理性诊断
主键合理性诊断
数据倾斜诊断
复制表合理性诊断
空闲索引优化建议
冷热表优化建议

使用示例
在ADBClaw对话框中,输入以下自然语言指令即可触发对应的诊断操作:
场景 | 自然语言指令 |
实例查找 | 查询杭州地域有哪些 AnalyticDB for MySQL实例? |
慢查询诊断 | 针对张家口实例amv-xxx,帮我做一下慢查询诊断,时间范围是最近2小时 |
空间诊断 | 对张家口实例amv-xxx执行空间诊断 |
数据倾斜 | amv-xxx这个实例有没有表数据倾斜?查一下事实表的倾斜情况 |
分区合理性 | amv-xxx分区合理性诊断,看看有没有分区设计不合理的表 |
过大非分区表 | 查一下amv-xxx里有没有过大的非分区表 |
复制表诊断 | amv-xxx复制表合理性诊断,有没有不合理的复制表 |
空闲索引 | amv-xxx有没有空闲索引可以清理?想省点存储和写入 |
冷热表优化 | amv-xxx 冷热表优化建议,哪些表可以转冷存储 |
常见问题
Skill没有响应或无法识别指令
请依次排查以下项:
集群ID格式是否正确(
am-xxx或amv-xxx)是否指定了正确的地域
角色是否已正确配置
是否已开通公网NAT
权限不足
如果API调用返回权限错误,需要为当前账号授予对应的RAM权限。
查询结果为空
查询无结果时,请确认以下几点:
时间范围是否合理(默认查询最近1小时)。
集群是否处于正常运行状态。
对应诊断数据是否已生成(如优化建议数据通常每日凌晨生成,当天可能暂无数据)。