M

azure-resource-lookup

作者 microsoft

azure-resource-lookup 通过 Azure Resource Graph,帮助你在多个订阅和资源组之间列出、查找和查看各类 Azure 资源。非常适合用于资产盘点、标签分析、孤立资源排查以及跨订阅查询。不适用于执行部署变更、成本优化或管理非 Azure 云环境。

Stars0
收藏0
评论0
分类报告
安装命令
npx skills add https://github.com/microsoft/azure-skills --skill azure-resource-lookup
概览

概览

什么是 azure-resource-lookup?

azure-resource-lookup 是一个用于 Azure 报表和资源发现的技能,帮助你在多个订阅和资源组之间列出、查找和查看几乎任何类型的 Azure 资源。

它使用 Azure Resource Graph (ARG) 对你的 Azure Resource Manager (ARM) 元数据执行快速的跨订阅查询,非常适合处理类似以下这类“资产盘点”问题:

  • "list websites"
  • "list virtual machines"
  • "list my VMs in subscription X"
  • "show storage accounts in this resource group"
  • "find container apps in region Y"
  • "what resources do I have?"

在后台,azure-resource-lookup 会把这些意图转换为 ARG 查询,让你无需为每个请求手写 KQL,就能获得结构化、接近实时的环境视图。

这个技能适合谁?

azure-resource-lookup 主要面向:

  • 云和平台工程师:需要快速了解多个订阅中 Azure 资源整体情况。
  • DevOps 和 SRE 团队:在日常运维流程中按资源类型、状态或标签进行搜索。
  • 安全和合规团队:需要核查必填标签或配置是否按要求落实。
  • 开发人员:想快速回答“这个应用/组件跑在哪?”或“这次部署创建了哪些资源?”而不必手动在 Azure Portal 中逐层点击查找。

如果你的主要需求是在 Azure 中进行报表统计、资源盘点和资源发现,这个技能非常适合。

azure-resource-lookup 解决哪些问题?

在以下场景中适合使用 azure-resource-lookup:

  • 列出常见类型的资源
    • 虚拟机、Web 应用、存储账户、container apps、数据库等。
  • 按作用域展示资源
    • 将结果限定在某个订阅、一组订阅或指定资源组中。
  • 执行跨订阅搜索
    • 回答诸如“show all storage accounts in all production subscriptions”这样的需求,而不用频繁切换上下文。
  • 查找孤立或未使用的资源
    • 发现未挂载磁盘、未用的 NIC、闲置的 IP 等潜在清理对象。
  • 检查标签覆盖率和命名规范
    • 找出缺少必填标签的资源,或按标签值(例如 envownercostCenter)对资源分组。
  • 构建资源资产清单
    • 按资源类型、区域或订阅统计数量,用于文档记录或审计。
  • 按资源状态筛选
    • 利用 Resource Graph 中的元数据,查找已停止、不健康或创建失败的资源。

这些能力非常契合各种报表和可见性场景,帮助你获得现有 Azure 基础设施的清晰、可查询概览。

什么时候不应该使用这个技能?

azure-resource-lookup 不适用于

  • 部署或修改资源
    • 它不会创建、更新或删除 Azure 资源。
  • 成本和优化分析
    • 它不会计算费用、提供缩配建议或输出详细成本拆分。
  • 非 Azure 云或本地资源
    • 它仅面向通过 Azure Resource Graph 暴露的 Azure Resource Manager 资源。
  • 深度资源专用工具场景
    • 对于非常专业、深度的资源级操作(例如数据库 schema 管理、Kubernetes 对象管理、复杂 VM 配置修改),应使用专门工具或其他技能。

如果你需要的是 运营洞察和 Azure 范围内的资产盘点,azure-resource-lookup 非常适合;如果你需要 变更、自动化或成本分析,建议与其他工具搭配使用。

使用指南

前提条件

在安装和使用 azure-resource-lookup 之前,请确认:

  • 你拥有一个 Azure 账户,并在目标订阅中具备读取资源的相应权限。
  • Azure Resource Graph 已在你的租户中可用(大多数情况下默认启用)。
  • 你的 Agent 或自动化环境可以对 Azure 进行身份验证(根据环境配置,支持 az login、managed identity 或 service principal 等方式)。

该技能位于 GitHub 仓库 microsoft/azure-skillsskills/azure-resource-lookup 下,设计为可插入支持该仓库技能机制的兼容 Agent 运行时中。

安装步骤

1. 添加 azure-skills 仓库和该技能

如果你的 Agent 运行时支持 npx skills(例如 Microsoft 的 skills 工具),可以直接从 GitHub 添加 azure-resource-lookup:

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

该命令会:

  • 注册 microsoft/azure-skills 仓库为技能源。
  • azure-resource-lookup 技能定义及相关参考资料安装到你的 Agent 环境中。

如果你的平台使用其他机制,请将其指向:

  • Repository: https://github.com/microsoft/azure-skills
  • Skill path: skills/azure-resource-lookup

并按照平台文档说明添加技能。

2. 查看技能定义

安装完成后,打开 azure-resource-lookup 目录中的 SKILL.md。该文件包含:

  • 官方的功能描述和主要使用场景。
  • 关于何时使用本技能以及与同仓库中其他技能的对比说明。

通过这些信息确认该技能是否契合你的使用场景(在 Azure 中做资源盘点和查询)。

3. 为你的 Agent 配置 Azure 访问

配置 Agent 所在环境,使其可以查询 Azure Resource Graph。常见模式包括:

  • 用 Azure CLI 进行本地测试的 交互式登录
    az login
    
  • 用于非交互式自动化的 service principal
    az login --service-principal -u <APP_ID> -p <PASSWORD_OR_CERT> --tenant <TENANT_ID>
    
  • 在支持的 Azure 托管服务中使用 managed identity

该技能本身只读取资源元数据,因此通常只需要对被查询订阅具备 Reader 或类似的只读权限。

4. 将技能接入你的 Agent

大多数支持该仓库的 Agent 平台在安装完成后会自动暴露技能。在配置界面或 JSON manifest 中,请确认:

  • azure-resource-lookup 已列入启用的技能列表。
  • 该技能可以访问前一步中配置的 Azure 凭据。

如需最终接线方式,请参考你的 Agent 框架文档,了解如何在技能与工具之间完成集成。

使用该技能查询 Azure 资源

常见自然语言 Prompt

接入完成后,你可以通过自然语言 Prompt 与 azure-resource-lookup 交互。与 SKILL.md 中意图相符的示例包括:

  • 资源列表

    • "List virtual machines in my production subscription."
    • "Show storage accounts in resource group rg-app-prod."
    • "List container apps in region westeurope."
  • 基于标签的搜索

    • "Find resources tagged env=prod in all subscriptions."
    • "Which resources are missing the owner tag in subscription X?"
  • 孤立资源

    • "List unattached managed disks in all subscriptions."
    • "Show idle IP addresses that are not associated with any resource."
  • 资产盘点和数量统计

    • "Count all resources by type across all subscriptions."
    • "How many storage accounts are in each region?"
  • 基于状态的查询

    • "Show virtual machines that are stopped."
    • "List resources in a failed provisioning state."

该技能会将这些请求转换为 Azure Resource Graph 查询,并返回结构化结果,便于报表或后续分析使用。

使用 Azure Resource Graph 查询模式

对于更高级的使用场景,可查看仓库中的参考文件 references/azure-resource-graph.md。该文件包含:

  • 标准 az graph query 命令格式:
    az graph query -q "<KQL>" --query "data[].{col1:field1, col2:field2}" -o table
    
  • 关键数据表,例如 ResourcesResourceContainersHealthResources 等。
  • Resource Graph 中 KQL 的基础用法,如 =~(不区分大小写比较)、mv-expandisempty()tostring()
  • 实用的资产盘点模式,例如:
    • 按类型统计资源数量。
    • 按位置对资源分组。

即便你不会手动运行 az graph query,这些模式也有助于理解该技能在后台做了什么,以及如何解读输出结果。

集成到流程和报表中

由于 azure-resource-lookup 专注于只读的资产盘点和资源发现,因此非常适合集成到:

  • 运维看板——将查询结果输送到报表工具,用于每日资源数量与覆盖率总览。
  • 治理与合规检查——定期扫描缺失标签或违规配置。
  • 清理行动——在用其他工具执行删除流程前,先识别孤立磁盘、未用 NIC 或闲置 IP。
  • 发布和环境评审——在发布后核查各环境中实际存在的资源。

将这个技能作为更大流程中的信息层:它负责告诉你“有哪些资源、当前状态如何”,而其他工具在此基础上执行变更操作。

常见问题(FAQ)

azure-resource-lookup 底层依赖的是什么?

azure-resource-lookup 基于 Azure Resource Graph 构建,后者是 Azure 针对 ARM 资源的索引元数据服务。该技能通过发送 ARG 风格的查询,在多个订阅和资源组间快速搜索和筛选资源,然后将结果返回给你的 Agent。

我可以用 azure-resource-lookup 创建或删除 Azure 资源吗?

不可以。azure-resource-lookup 是一个只读的资源发现和报表技能,明确不用于部署、修改或删除 Azure 资源。对于这些任务,请搭配 ARM/Bicep 模板、Terraform 或其他自动化技能使用。

这个技能支持非 Azure 云吗?

不支持。azure-resource-lookup 仅适用于通过 Azure Resource Graph 暴露的 Azure Resource Manager 资源,无法查询 AWS、GCP 或本地环境。

azure-resource-lookup 适合做成本分析或优化吗?

不直接适合。虽然你可以用它做资源盘点(这通常是成本分析的输入),但该技能本身并非为成本优化设计,不会提供费用计算、价格估算或缩配建议。

使用这个技能需要什么权限?

你至少需要对要查询的订阅和资源组拥有 读取权限(例如 Reader 角色)。由于 azure-resource-lookup 是只读的,并通过 Resource Graph 工作,一般不需要超出读取级别的高权限。

azure-resource-lookup 与 Azure Portal 中的资源搜索有何不同?

Azure Portal 提供交互式搜索和过滤功能。而 azure-resource-lookup 提供:

  • 可脚本化、可重复的查询,可跨多个订阅执行。
  • 结构化输出,便于 Agent 和自动化流程直接消费。
  • 自然语言入口,无需为每个问题手写 KQL。

当你需要的是一致、自动化的资产盘点和资源发现,而不是临时手动搜索时,它尤其有价值。

哪里可以看到更多查询示例?

microsoft/azure-skills 仓库的 azure-resource-lookup 目录下,可以查看:

  • SKILL.md:了解高层行为和使用说明。
  • references/azure-resource-graph.md:查看具体的 Azure Resource Graph 查询示例和 KQL 提示。

可以将这些示例作为参考,用于理解和扩展你通过该技能提出的问题类型。

什么时候应该考虑使用其他技能?

当你需要以下能力时,可以考虑使用其他或额外的技能:

  • 变更基础设施(创建、更新、删除、扩缩资源)。
  • 管理资源内部的工作负载(例如应用部署、数据库 schema 管理或 Kubernetes 对象)。
  • 执行超出元数据报表范围的细粒度成本、性能或安全分析

在这些情况下,可以用 azure-resource-lookup 做前期的发现和盘点,然后交由专门的部署、监控或安全工具完成后续步骤。

评分与评论

暂无评分
分享你的评价
登录后即可为这个技能评分并发表评论。
G
0/10000
最新评论
保存中...