用途
本技能是阿里云 AnalyticDB for MySQL(ADB MySQL)运维与诊断助手。它通过 aliyun-cli 直接调用 ADB MySQL OpenAPI,获取实时数据并提供诊断建议。适用于 ADB MySQL 集群,集群 ID 通常以 am-xxx 或 amv-xxx 开头。对于其他阿里云产品(如 Elasticsearch、RDS MySQL、PolarDB、ClickHouse 等),该技能不适用。
主要能力
- 集群管理:查看集群列表、集群详情、存储空间、账号、网络信息。
- 性能监控:查询 CPU、QPS、RT、内存、连接数等性能指标。
- 慢查询诊断:检测 BadSQL、分析 SQL Pattern、识别慢查询根因。
- 运行 SQL 分析:查看当前正在执行的 SQL,识别长时间运行的查询。
- 空间诊断:实例空间巡检,覆盖分区合理性诊断、超大非分区表诊断、表数据倾斜诊断、复制表合理性诊断、主键合理性诊断、空闲索引与冷热表优化建议。
使用方式
前置检查:需要 aliyun CLI 版本 >= 3.3.3,可通过 aliyun version 验证;未安装或版本过低时运行 curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash 安装或更新,或参考 references/cli-installation-guide.md。随后需运行 aliyun configure set --auto-plugin-install true 开启自动插件安装,并运行 aliyun plugin update 确保已安装插件为最新。
凭证要求:技能不会读取、回显或打印 AK/SK 值,也不会要求用户在对话或命令行中直接输入 AK/SK,也不使用字面量凭证值执行 aliyun configure set;仅通过 aliyun configure list 检查凭证状态。若无有效 profile,需先在阿里云控制台获取凭证,并在本会话之外(终端中的 aliyun configure 或 shell profile 中的环境变量)完成配置,待 aliyun configure list 显示有效 profile 后重试。
AI-Mode:执行 Agent Skill 前需运行 aliyun configure ai-mode enable 与 aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-mysql-copilot";在任意退出点(成功、失败、错误、用户取消、会话结束等)交付最终响应前,必须先运行 aliyun configure ai-mode disable。每次 aliyun CLI 调用都需包含 --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-mysql-copilot。
区域与集群约定:任何需要 --db-cluster-id 的接口,aliyun adb 命令还必须显式包含 --biz-region-id。区域 ID 来源优先级为:用户明确指定 → 会话/工单上下文 → aliyun configure list 中的默认区域 → 与用户确认。
智能诊断(aliyun adbai):describe-chat-message 支持产品知识问答(无需区域和集群,示例命令:aliyun adbai describe-chat-message --region cn-beijing --endpoint adbai.cn-beijing.aliyuncs.com --biz-region-id cn-beijing --query "<user question>" --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-mysql-copilot)和实例级诊断(需区域与集群,需先通过 aliyun adb describe-db-clusters --api-version 2021-12-01 --biz-region-id <region-id> --region <region-id> 校验集群 ID)。执行前需满足强制检查清单:区域已由用户确认、集群 ID 已确认且存在于 describe-db-clusters 返回列表、已获得用户执行前确认。别名区域路由需按要求覆盖 --region 与 --endpoint:例如中国内地多个区域映射为 --region cn-beijing --endpoint adbai.cn-beijing.aliyuncs.com,东南亚、亚太、欧洲、中东等区域映射为 --region ap-southeast-1 --endpoint adbai.ap-southeast-1.aliyuncs.com,美国区域映射为 --region us-west-1 --endpoint adbai.us-west-1.aliyuncs.com。
场景路由:集群管理使用 aliyun adb,智能诊断使用 aliyun adbai describe-chat-message。每次 ADB OpenAPI 调用需在响应首行或开头输出已执行的命令字符串。集群 ID 以 am- 或 amv- 开头时,直接判定为 ADB MySQL 集群,不得通过其他产品命令验证归属。
时间参数:describe-chat-message 自动处理时间参数,用户只需在 --query 中用自然语言描述时间(如“最近 3 小时慢查询”);集群信息查询接口无需时间参数。
命令参考:集群管理命令格式为 aliyun adb <command-name> --api-version 2021-12-01 --biz-region-id <region-id> --region <region-id> [--db-cluster-id <cluster-id>] [other parameters] --user-agent AlibabaCloud-Agent-Skills/alibabacloud-analyticdb-mysql-copilot,调用时必须显式包含 --api-version 2021-12-01(避免默认使用缺少所需接口的旧版本 2019-03-15)。相关命令包括:describe-db-clusters(查询区域内 ADB MySQL 集群列表,不需要 --db-cluster-id)、describe-db-cluster-attribute(查询集群详细属性,需要)、describe-db-cluster-space-summary(查询存储空间概览,需要)。
适用场景
- 需要了解存在哪些实例、实例规格或磁盘使用情况时。
- 出现性能异常、需要实例诊断、表建模优化,或进行产品知识问答时。
- 慢查询、BadSQL、运行中查询、SQL Pattern、实例写入诊断、空间诊断、数据倾斜、空闲索引等诊断场景。
- 多个场景可组合,例如先通过集群信息确认目标实例,再通过 describe-chat-message 诊断定位问题。
- 若用户意图无法匹配到特定场景,执行默认诊断流程:调用 describe-db-clusters 确认集群存在且状态正常;用选项卡片列出 2-3 个最可能的路由选项;根据用户选择路由并继续执行。
- 若用户提供的集群 ID 在 API 响应中不存在(InvalidDBClusterId.NotFound),不中止任务,而是调用 describe-db-clusters 列出该区域的实际集群,引导用户确认正确集群 ID 后继续。
限制
本技能仅适用于 AnalyticDB for MySQL(ADB MySQL)。使用前必须满足 CLI 版本、凭证配置、AI-Mode 开启与关闭、命令字符串输出等强制性要求。具体的收费、价格等商业信息暂未提供。