Ansible—— 23. setup模块

本文介绍如何使用Ansible模块setup收集远程主机的详细信息,包括IP地址、内存、磁盘和系统配置等,并展示了如何通过参数filter进行精确信息筛选。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

收集远程主机的信息 Gathers facts about remote hosts

1. 参数

filter:条件过滤。

2. 示例

2. 1 获取IP地址

[admin@node1 tmp]$ ansible 192.168.20.138 -m setup -a 'filter=ansible_default_ipv4'
192.168.20.138 | SUCCESS => {
    "ansible_facts": {
        "ansible_default_ipv4": {
            "address": "10.2.13.186", 
            "alias": "eth0", 
            "broadcast": "10.2.13.255", 
            "gateway": "10.2.13.1", 
            "interface": "eth0", 
            "macaddress": "52:54:00:7d:e2:a7", 
            "mtu": 1500, 
            "netmask": "255.255.255.0", 
            "network": "10.2.13.0", 
            "type": "ether"
        }
    }, 
    "changed": false
}

2.2 获取内存信息

[admin@node1 tmp]$ ansible 192.168.20.138 -m setup -a 'filter=ansible_memory_mb'
192.168.20.138 | SUCCESS => {
    "ansible_facts": {
        "ansible_memory_mb": {
            "nocache": {
                "free": 803, 
                "used": 189
            }, 
            "real": {
                "free": 504, 
                "total": 992, 
                "used": 488
            }, 
            "swap": {
                "cached": 0, 
                "free": 1535, 
                "total": 1535, 
                "used": 0
            }
        }
    }, 
    "changed": false
}

2.3 收集完整主机的信息

[admin@node1 tmp]$ ansible 192.168.20.138 -m setup

2.4 获取 host1 主机的 IPV4 地址

[root@ansible-manager ~]# ansible host1 -m setup -a "filter=ansible_all_ipv4_addresses"
host1 | SUCCESS => {
    "ansible_facts": {
        "ansible_all_ipv4_addresses": [
            "192.168.128.83"
        ]
    }, 
    "changed": false
}

2.5 通配符实现模糊匹配
收集以”mb”关键字结尾的信息

[root@ansible-manager ~]# ansible host1 -m setup -a "filter=*mb"
host1 | SUCCESS => {
    "ansible_facts": {
        "ansible_memfree_mb": 1542, 
        "ansible_memory_mb": {
            "nocache": {
                "free": 1654, 
                "used": 168
            }, 
            "real": {
                "free": 1542, 
                "total": 1822, 
                "used": 280
            }, 
            "swap": {
                "cached": 0, 
                "free": 2047, 
                "total": 2047, 
                "used": 0
            }
        }, 
        "ansible_memtotal_mb": 1822, 
        "ansible_swapfree_mb": 2047, 
        "ansible_swaptotal_mb": 2047
    }, 
    "changed": false
}
3. 其他参数

ansible_all_ipv4_addresses:仅显示ipv4的信息。
ansible_devices:仅显示磁盘设备信息。
ansible_distribution:显示是什么系统,例:centos,suse等。
ansible_distribution_major_version:显示是系统主版本。
ansible_distribution_version:仅显示系统版本。
ansible_machine:显示系统类型,例:32位,还是64位。
ansible_eth0:仅显示eth0的信息。
ansible_hostname:仅显示主机名。
ansible_kernel:仅显示内核版本。
ansible_lvm:显示lvm相关信息。
ansible_memtotal_mb:显示系统总内存。
ansible_memfree_mb:显示可用系统内存。
ansible_memory_mb:详细显示内存情况。
ansible_swaptotal_mb:显示总的swap内存。
ansible_swapfree_mb:显示swap内存的可用内存。
ansible_mounts:显示系统磁盘挂载情况。
ansible_processor:显示cpu个数(具体显示每个cpu的型号)。
ansible_processor_vcpus:显示cpu个数(只显示总的个数)。
————Blueicex 2020/2/1 15:06 blueice1980@126.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值