用途:这个 Skill 负责构建可复用的火山引擎基础资产数据层,把拉取到的资源快照整理为结构化资产数据和统一关系表达,供拓扑分析、影响面评估、自动化运维、故障排查、资产盘点、依赖梳理等上层场景继续消费。
主要能力分三层:采集层尽量全量拉取当前已接入的火山引擎资源资产;建模层把原始快照整理成结构化资产数据与统一关系表达;输出层落盘为 json/md/dot/svg/png 等可复用产物。默认在当前工作空间 business_topologies/<business_key>/ 下生成 account_assets_snapshot.json(原始资产快照)、topology.json(结构化关系模型)、topology.md(文本视图)、topology.dot(始终生成),本地装有 Graphviz 或自动安装成功时生成 topology.svg 与 topology.png。
一键流水线用法:在当前工作空间准备 .env(VOLCENGINE_AK、VOLCENGINE_SK),运行 python3 <byted-volcengine-topology-builder-skill>/scripts/run_topology_pipeline.py --workspace-root "$(pwd)" --env-path ./.env --region cn-shanghai --business default-topology。流水线依次执行采集资产快照、从快照构建拓扑、保存 topology.json/topology.md、生成 topology.dot,若本地可用 Graphviz 再生成 svg/png;无 dot 命令时脚本会先尝试自动安装 Graphviz,安装失败则降级为仅输出 topology.dot,不阻塞基础数据落盘。
常用参数:--business 业务标识、--region 地域、--include 采集资源类型(可重复或逗号分隔)、--entry 构图优先使用的入口资源类型、--skip-render-graph 只生成结构化产物不产图。
分层执行对应脚本:dump_account_assets.py 采集快照,build_topology_from_account_assets.py 从快照构图,save_topology.py 保存产物,render_topology_graph.py 可对已有 topology.json 单独补画图;不希望渲染脚本自动安装 Graphviz 时可加 --skip-auto-install-graphviz。
topology.json 使用 nodes + chains 结构,path[].relation 为主链路关系,contexts.<node_id> 存放路径节点的上下文资源;关系语义包括 attached_to(绑定)、has(拥有)、contains(包含)、belongs_to(归属)。展示层默认以资源 id 为主以避免实例名称重复歧义,name 作为元数据辅助信息保留。
覆盖范围:在权限允许且快照字段完整时,当前优先沉淀 EIP -> CLB -> 后端服务器组 -> ECS、EIP -> ECS、ECS -> VPC/子网/安全组/EBS、VPC -> 子网等基础关系;它是可扩展底座,不应理解为已完整覆盖所有云资源关系。
限制:AccessDenied (403) 表示账号缺少对应产品只读权限,脚本会尽量降级并保留已成功拉取的资产;rds_mysql/redis 的 SDK 方法或字段不稳定,说明采集适配仍需扩展,但不影响已有基础产物落盘。
暂未提供的部分:具体支持的全部资源类型清单、各产品字段规格、性能与规模上限、收费信息等未在资料中说明。