You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Ansible获取Azure平台虚拟机的facts信息?

Ansible获取Azure虚拟机全量Facts、状态与配置信息方案

你当前使用的azure_rm_virtualmachine_facts是Azure Ansible模块中用于获取虚拟机信息的官方模块,未返回完整信息通常是模块版本过低、参数缺失或权限不足导致,可按以下步骤操作获取全量数据:

前置环境校验

  • 升级Azure官方集合到最新版本,旧版本模块存在返回字段缺失问题,执行命令:
    ansible-galaxy collection install azure.azcollection --upgrade
  • 安装对应版本的Azure Python SDK依赖,避免接口调用异常:
    pip install -r ~/.ansible/collections/ansible_collections/azure/azcollection/requirements-azure.txt
  • 确认Ansible使用的认证身份(服务主体/账号)对目标资源组、虚拟机拥有Reader及以上权限,权限不足会导致返回字段截断。

调整Playbook配置拉取全量信息

旧版模块名azure_rm_virtualmachine_facts在新版本集合中已更名为azure_rm_virtualmachine_info,旧别名虽兼容但新模块字段覆盖更全。默认配置不会返回运行态实例信息,需添加get_instance_view参数拉取电源状态、健康状态等动态数据,参考配置如下:

- name: 拉取Azure虚拟机全量信息
  hosts: localhost
  connection: local
  gather_facts: false
  tasks:
    - name: 获取目标VM全量facts
      azure.azcollection.azure_rm_virtualmachine_info:
        resource_group: startAnsible
        name: startAnsible-vm
        get_instance_view: true # 开启后返回运行态状态数据
      register: vm_detail

    - name: 输出全量返回结果
      ansible.builtin.debug:
        var: vm_detail

可获取的信息范围

开启全量拉取后,可拿到以下维度的信息:

  • 基础配置:VM规格、操作系统类型、管理员账号配置、创建时间、标签、可用区/可用性集归属
  • 存储配置:OS盘、数据盘的ID、容量、存储类型、加密配置
  • 网络配置:关联网卡信息、公私网IP地址、NSG绑定规则、所属虚拟网络/子网配置
  • 运行状态(开启get_instance_view后返回):电源状态(运行中/已停止/已释放)、VM Agent运行状态、扩展部署状态、主机健康度、最近操作记录

如果需要获取关联资源的更细粒度配置,可搭配对应官方模块补充拉取:

  • 公网IP详细属性:使用azure_rm_publicipaddress_info模块
  • 托管磁盘性能配置(IOPS、吞吐量):使用azure_rm_managed_disk_info模块
  • 运行监控指标(CPU、内存、磁盘使用率):使用azure_rm_metrics_info模块

内容的提问来源于stack exchange,提问作者Umair Hameed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 13:18:21