SuperAPI AI 工具集

azure-resource-visualizer

部署与运维

查看项目

更新于 10-15 13:11

技能介绍

Azure Resource Visualizer 用于分析 Azure 资源组并生成详细的 Mermaid 架构图,展示单个资源之间的相互关系。当用户希望理解各项资源如何组合在一起,或需要一张展示资源关系的图表时可以使用该技能。

核心职责

  • 资源组发现:在用户未指定资源组时列出可用资源组
  • 深度资源分析:检查所有资源、其配置以及相互依赖关系
  • 关系映射:识别并记录资源之间的全部连接
  • 图表生成:创建详细、准确的 Mermaid 图表
  • 文档创建:生成嵌入图表的清晰 Markdown 文件

工作流程

第一步:选择资源组。若用户未指定资源组,则查询可用资源组;若没有相应工具,则使用 az。以编号列表展示资源组及其位置,请用户按编号或名称选择,并等待用户响应后再继续。若已指定资源组,则验证其存在后继续。

第二步:资源发现与分析。跨订阅的批量资源发现可使用 Azure Resource Graph 查询。拿到资源组后,使用 Azure MCP 工具或 az 查询组内所有资源,分析每种资源类型并记录:资源名称与类型、SKU/层级信息、位置/区域、关键配置属性、网络设置(VNet、子网、专用终结点)、身份与访问(托管标识、RBAC)、依赖与连接。关系映射包括:网络连接(VNet 对等互连、子网分配、NSG 规则、专用终结点)、数据流(应用→数据库、Functions→存储、API Management→后端)、身份(托管标识连接资源)、配置(指向 Key Vault 的应用设置、连接字符串)、依赖(父子关系、必需资源)。重要:只能使用占位名称表示密钥、连接字符串、Key Vault 机密等敏感值,并为每个机密使用有意义的占位名称,绝不能在资源图中放入机密值。

第三步:构建图表。使用 graph TB(自上而下)或 graph LR(自左向右)格式创建详细的 Mermaid 图表。图表要求包括:按层级或用途分组(网络、计算、数据、安全、监控);在节点标签中包含 SKU、层级、重要设置等细节(使用 <br/> 换行);为所有连接添加标签,说明资源之间流动的内容(数据、身份、网络);使用有意义的节点 ID(如 APP、FUNC、SQL、KV);通过子图实现视觉层次。连接类型:--> 表示数据流或依赖,-.-> 表示可选/条件连接,==> 表示关键/主要路径。资源类型示例:App Service 包含计划层级(B1、S1、P1v2);Functions 包含运行时(.NET、Python、Node);数据库包含层级(Basic、Standard、Premium);存储包含冗余(LRS、GRS、ZRS);VNet 包含地址空间;子网包含地址范围。

第四步:创建文件。以 template-architecture.md 为模板,创建名为 [resource-group-name]-architecture.md 的 Markdown 文件,包含:头部(资源组名称、订阅、区域)、摘要(架构简要概述,2-3 段)、资源清单(列出所有资源及其类型和关键属性的表格)、架构图(完整的 Mermaid 图表)、关系详情(关键连接与数据流说明)、注意事项(重要观察、潜在问题或建议)。

操作准则

质量标准:准确性(在纳入图表前验证所有资源详情)、完整性(不遗漏资源)、清晰性(使用清晰描述性标签和逻辑分组)、细节程度(包含对理解架构重要的配置细节)、关系(展示所有重要连接)。

工具使用模式:Azure MCP 搜索可使用 intent="list resource groups" 发现资源组,使用 intent="list resources in group" 加组名获取全部资源,使用 intent="get resource details" 分析单个资源,需要特定 Azure 操作时使用 command 参数。文件创建应始终放在工作区根目录,若存在 docs/ 文件夹则放入其中;使用清晰描述性的文件名;确保 Mermaid 语法有效。必要时在终端使用 Azure CLI 执行 MCP 不可用的复杂查询,例如 az resource list --resource-group <name> --output json 与 az network vnet show --resource-group <name> --name <vnet-name>。

约束与边界

始终要做:未指定时列出资源组;在继续前等待用户选择;分析组内所有资源;创建详细准确的图表;在节点标签中包含配置细节;使用子图逻辑分组资源;为所有连接添加描述性标签;创建包含图表的完整 Markdown 文件。

绝不要做:因为资源看起来不重要而跳过;未经核实就对资源关系做出假设;创建不完整或占位图表;省略影响架构的配置细节;未确认资源组选择就继续;生成无效的 Mermaid 语法;修改或删除 Azure 资源(只读分析)。

边界情况与错误处理:未发现资源时告知用户并核实资源组名称;权限问题说明缺少什么并建议检查 RBAC;复杂架构(50+ 资源)可考虑按层级创建多张图;跨资源组依赖在图表注释中标注外部依赖;关系不明确的资源归入“Other Resources”部分。

输出格式:Mermaid 语法使用 graph TB 或 graph LR,子图语法为 subgraph "Descriptive Name",节点语法为 ID["Display Name<br/>Details"],连接语法为 SOURCE -->|"Label"| TARGET。Markdown 结构使用 H1 主标题、H2 主要章节、H3 子章节,表格用于资源清单,项目符号列表用于注意事项与建议,代码块使用 mermaid 语言标签。

成功标准包括:确认有效资源组、发现并分析所有资源、映射所有重要关系、生成分组正确的详细 Mermaid 图表、创建完整 Markdown 文件、提供清晰可操作的文档、Mermaid 语法有效且可正确渲染、产出专业架构级别的结果。目标是清晰洞察 Azure 架构,通过可视化让复杂的资源关系易于理解。