21-Ansible常用模块-setup模块

一、概述

setup 模块用于收集远程主机的一些基本信息。

二、常用参数

filter参数:用于进行条件过滤。如果设置,仅返回匹配过滤条件的信息。

三、示例

1.获取 ansible-demo3 主机的信息。

[root@ansible-manager ~]# ansible ansible-demo3 -m setup
ansible-demo3 | SUCCESS => {
    "ansible_facts": {
        "ansible_all_ipv4_addresses": [
            "192.168.128.83"
        ], 
        "ansible_all_ipv6_addresses": [
            "fe80::250:56ff:fe35:785f"
        ], 
        "ansible_apparmor": {
            "status": "disabled"
        }, 
        "ansible_architecture": "x86_64", 
        "ansible_bios_date": "07/02/2015", 
      ......
        "ansible_userspace_architecture": "x86_64", 
        "ansible_userspace_bits": "64", 
        "ansible_virtualization_role": "guest", 
        "ansible_virtualization_type": "VMware", 
        "gather_subset": [
            "all"
        ], 
        "module_setup": true
    }, 
    "changed": false
}

返回的信息非常多,很多情况我们并不需要全部的信息,可以通过过滤获得指定的信息。

2.获取 ansible-demo3 主机的 IPV4 地址。

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

3.获取 ansible-demo3 主机的内存信息。

[root@ansible-manager ~]# ansible ansible-demo3 -m setup -a "filter=ansible_memory_mb"
ansible-demo3 | SUCCESS => {
    "ansible_facts": {
        "ansible_memory_mb": {
            "nocache": {
                "free": 1645, 
                "used": 177
            }, 
            "real": {
                "free": 1350, 
                "total": 1822, 
                "used": 472
            }, 
            "swap": {
                "cached": 0, 
                "free": 2047, 
                "total": 2047, 
                "used": 0
            }
        }
    }, 
    "changed": false
}

4.通过通配符实现模糊匹配,比如以”mb”关键字结尾的信息。

[root@ansible-manager ~]# ansible ansible-demo3 -m setup -a "filter=*mb"
ansible-demo3 | 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
}

其他常用信息列出如下:

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个数(只显示总的个数)。

四、总结

本节介绍了 Ansible 常用模块之 setup 模块,并举例说明如何使用。从下节开始,我们重点介绍 Playbook ,首先是 Playbook 概述。

参考文档:
http://www.mamicode.com/info-detail-1312216.html
http://www.linuxyw.com/755.html
https://www.ipcpu.com/2016/01/ansible-setup-when/
http://www.zsythink.net/archives/2671

你可能感兴趣的:(ansible)