SuperAPI AI 工具集

env-discovery

部署与运维

查看项目

更新于 10-15 17:22

技能介绍

用途:通过 tag 导航发现 AWS 环境结构,不枚举单个资源,用于调查账户内运行的服务、按服务标签检查集群健康、回答“我的账户里有什么”以及新账户接入。

主要能力:脚本 scripts/discover-account.sh <account-id> <region> 分三阶段独立执行——tag 发现、资源聚合、告警状态;输出 JSON 到 stdout,同时更新 environments/ 下的 account.yaml 和 account.md。支持两种查询模式:全局概览读取 account.yaml 的 service catalog,查 CloudWatch Alarms 中 ALARM 状态并按 alarm_prefix 归类到服务,输出各服务健康摘要与异常告警;定向下钻从 service catalog 找到 tag 和 resource_types,用 tag 过滤查询目标资源指标,如 RDS 的 CPUUtilization、FreeableMemory、ReplicaLag,EC2 的 CPUUtilization、StatusCheckFailed,EKS 的 pod restart count、node status,只返回异常或用户关心的资源。可选与上次扫描对比:读 account.yaml 获取上次 service_catalog 与本次 JSON 做 diff,仅限脚本覆盖的三个 phase,变化标注新增/消失/数量变化并附数据。

使用方式:先确认 account ID(默认从 environment.md 读取)与 region 范围(默认扫描 environment.md 中列出的所有 region),再运行脚本,解析 JSON 渲染终端摘要,包含各服务资源数量、当前告警、异常标记。各服务具体 AWS CLI 命令与解读要点见 references/service-checklist.md,不要自行编写查询命令。

限制与注意:本技能纯只读,所有 describe/list/get 查询、resourcegroupstaggingapi 调用、cloudwatch describe-alarms、生成报告文件属 auto-safe,无 human-required 操作。resourcegroupstaggingapi 返回的 ARN 中 ec2 涵盖 instance/vpc/subnet/sg/nat/igw 等,必须从 ARN 第 6 段提取细分类型,否则会误报。Tag 推断 primary_key 时需排除 k8s 系统 tag(key 含 . 或 /)。个人/实验账号可能没有业务级 tag,Project 或 Name 可能是最接近替代。account.yaml 中历史注释、log_sources 等非脚本扫描范围信息不得作为本次结论引用,引用前须用 CLI 验证;报告中每条结论必须可追溯到本次扫描 JSON。扫描后清理过期注释,已解决问题标注解决时间,未验证问题不要保留。