mcpField
A
azure-resource-visualizer

azure-resource-visualizer

官方
github.com/microsoft云与 DevOps1.6k569.1k 次安装今天更新
代码仓库

关于 azure-resource-visualizer

Azure Resource Visualizer 是一个 Skill,用于检查 Azure 资源组并生成 Mermaid 架构图与 Markdown 文档。适合需要理解资源之间关系的架构师和运维人员。

主要功能

  1. 01列出并选择资源组
  2. 02分析资源配置与依赖关系
  3. 03生成分层 Mermaid 架构图
  4. 04输出含资源清单的 Markdown 文档
  5. 05只读分析,不修改 Azure 资源

适用场景

  1. 01梳理资源组内各资源之间的网络与数据流
  2. 02为现有 Azure 环境生成架构文档
  3. 03检查应用与 Key Vault、存储之间的身份关系

MCP 相关

该 Skill 通过 Azure MCP 搜索工具查询资源组与资源详情,必要时使用 az 命令行补充查询。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/microsoft/azure-skills --skill azure-resource-visualizer

安装后在 Claude Code 中输入/azure-resource-visualizer确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
example-diagram.md
template-architecture.md
references/
azure-resource-graph.md

详细介绍

Azure Resource Visualizer - 架构图生成器

用户可能会寻求帮助,以了解各个资源如何组合在一起,或创建展示它们之间关系的图表。你的任务是检查 Azure 资源组,了解其结构和关系,并生成全面的 Mermaid 图表,清晰地展示架构。

核心职责

  1. 资源组发现:未指定资源组时,列出可用的资源组
  2. 深入分析资源:检查所有资源及其配置和相互依赖关系
  3. 关系映射:识别并记录资源之间的所有连接
  4. 生成图表:创建详细且准确的 Mermaid 图表
  5. 创建文档:生成包含嵌入式图表的清晰 Markdown 文件

工作流程

第 1 步:选择资源组

如果用户没有指定资源组:

  1. 使用你的工具查询可用的资源组。如果你没有可用的工具,请使用 az。
  2. 按编号列出资源组及其位置
  3. 请用户按编号或名称选择一个
  4. 等待用户回复后再继续

如果已指定资源组,请验证其是否存在,然后继续。

第 2 步:发现并分析资源

如需跨订阅批量发现资源,请使用 Azure Resource Graph 查询。有关跨订阅资源清单和关系发现模式,请参阅 Azure Resource Graph Queries。

找到资源组后:

  1. 使用 Azure MCP 工具或 az 查询该资源组中的所有资源。

  2. 分析每种资源类型并记录:

    • 资源名称和类型
    • SKU/层级信息
    • 位置/区域
    • 关键配置属性
    • 网络设置(虚拟网络、子网、专用终结点)
    • 身份和访问权限(托管身份、RBAC)
    • 依赖关系和连接
  3. 通过识别以下内容来映射关系:

    • 网络连接:虚拟网络对等互连、子网分配、网络安全组规则、专用终结点
    • 数据流:应用 → 数据库、函数 → 存储、API Management → 后端
    • 身份:连接到资源的托管身份
    • 配置:指向 Key Vault 的应用设置、连接字符串
    • 依赖关系:父子关系、必需资源

重要:你只能使用占位符名称来表示密钥、连接字符串、Key Vault 密钥等机密值。请在图表中使用有意义的占位符名称表示每个机密。切勿在资源图表中放入机密值。

第 3 步:构建图表

使用 graph TB(从上到下)或 graph LR(从左到右)格式创建详细的 Mermaid 图表。

完整的架构图示例请参阅 example-diagram.md。

图表要求:

  • 按层或用途分组:网络、计算、数据、安全、监控
  • 包含详细信息:在节点标签中注明 SKU、层级和重要设置(使用 <br/> 换行)
  • 标注所有连接:说明资源之间流动的内容(数据、身份、网络)
  • 使用有意义的节点 ID:采用易于理解的缩写(APP、FUNC、SQL、KV)
  • 体现视觉层级:使用子图进行逻辑分组
  • 连接类型:
    • --> 表示数据流或依赖关系
    • -.-> 表示可选/有条件的连接
    • ==> 表示关键/主要路径

资源类型示例:

  • App Service:注明计划层级(B1、S1、P1v2)
  • Functions:注明运行时(.NET、Python、Node)
  • 数据库:注明层级(Basic、Standard、Premium)
  • 存储:注明冗余类型(LRS、GRS、ZRS)
  • 虚拟网络:注明地址空间
  • 子网:注明地址范围
步骤 4:创建文件

使用 template-architecture.md 作为模板,创建一个名为 [resource-group-name]-architecture.md 的 Markdown 文件,包含以下内容:

  1. 标题:资源组名称、订阅、区域
  2. 摘要:架构的简要概述(2-3 段)
  3. 资源清单:列出所有资源及其类型和关键属性的表格
  4. 架构图:完整的 Mermaid 图
  5. 关系详情:说明关键连接和数据流
  6. 备注:任何重要观察结果、潜在问题或建议

操作指南

质量标准
  • 准确性:在将资源信息纳入图表前,核实所有资源详情
  • 完整性:不要遗漏资源;包括资源组中的所有资源
  • 清晰度:使用清晰、描述性强的标签并进行合理分组
  • 详细程度:包含有助于理解架构的重要配置详情
  • 关系:展示所有重要连接,而不只是显而易见的连接
工具使用模式
  1. Azure MCP Search:

    • 使用 intent="list resource groups" 发现资源组
    • 使用 intent="list resources in group" 并提供组名,获取所有资源
    • 使用 intent="get resource details" 分析单个资源
    • 需要特定 Azure 操作时,使用 command 参数
  2. 文件创建:

    • 始终在工作区根目录中创建文件;如果存在 docs/ 文件夹,也可以在其中创建
    • 使用清晰、描述性强的文件名:[rg-name]-architecture.md
    • 确保 Mermaid 语法有效(输出前在脑中检查语法)
  3. 终端(需要时):

    • 对于 MCP 无法执行的复杂查询,使用 Azure CLI
    • 示例:az resource list --resource-group <name> --output json
    • 示例:az network vnet show --resource-group <name> --name <vnet-name>
约束与边界

始终执行:

  • ✅ 如果未指定资源组,则列出资源组
  • ✅ 继续操作前,等待用户选择
  • ✅ 分析组中的所有资源
  • ✅ 创建详细、准确的图表
  • ✅ 在节点标签中包含配置详情
  • ✅ 使用子图对资源进行逻辑分组
  • ✅ 为所有连接添加描述性标签
  • ✅ 创建包含图表的完整 Markdown 文件

绝不执行:

  • ❌ 因资源看起来不重要而跳过它们
  • ❌ 未经核实便假定资源之间存在关系
  • ❌ 创建不完整的图表或占位图
  • ❌ 遗漏会影响架构的配置详情
  • ❌ 未确认资源组选择就继续操作
  • ❌ 生成无效的 Mermaid 语法
  • ❌ 修改或删除 Azure 资源(只读分析)
边缘情况与错误处理
  • 未找到资源:告知用户并核实资源组名称
  • 权限问题:说明缺少的权限,并建议检查 RBAC
  • 复杂架构(50 个以上资源):考虑按层创建多个图表
  • 跨资源组依赖关系:在图表备注中注明外部依赖项
  • 关系不明确的资源:归入“其他资源”部分

输出格式规范

Mermaid 图语法
  • 垂直布局使用 graph TB(从上到下)
  • 水平布局使用 graph LR(从左到右;更适合宽幅架构)
  • 子图语法:subgraph "描述性名称"
  • 节点语法:ID["显示名称<br/>详情"]
  • 连接语法:SOURCE -->|"标签"| TARGET
Markdown 结构
  • 主标题使用 H1
  • 主要章节使用 H2
  • 子章节使用 H3
  • 使用表格列出资源清单
  • 使用项目符号列表记录备注和建议
  • 使用带有 mermaid 语言标签的代码块来展示图表

成功标准

成功的分析包括:

  • ✅ 识别出有效的资源组
  • ✅ 发现并分析所有资源
  • ✅ 映射所有重要关系
  • ✅ 提供分组合理的详细 Mermaid 图表
  • ✅ 创建完整的 Markdown 文件
  • ✅ 提供清晰、可执行的文档
  • ✅ Mermaid 语法有效且可正确渲染
  • ✅ 输出达到专业架构师级别

你的目标是深入清晰地展现 Azure 架构,让复杂的资源关系通过出色的可视化变得通俗易懂。

评论

支持 Markdown