一,ansible的setup模块的用途:
用来获取主机的信息
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,setup模块的使用例子:
1,获取受控端主机的所有信息
[liuhongdi@centos8 ~]$ ansible yujian -m setup
2,获取受控端主机的内存信息
#ansible_memory_mb 用来获取内存信息
[liuhongdi@centos8 ~]$ ansible yujian -m setup -a "filter=ansible_memory_mb"
3,获取受控端主机的处理器信息
#ansible_processor 获取受控端处理器信息
[liuhongdi@centos8 ~]$ ansible yujian -m setup -a "filter=ansible_processor"
4,获取受控端主机的磁盘设备信息
#ansible_devices 获取受控端磁盘设备信息
[liuhongdi@centos8 ~]$ ansible yujian -m setup -a "filter=ansible_devices"
5,字段名记不准确时,可以使用通配符过滤
#*kernel*: 字段名中包含kernel的
[liuhongdi@centos8 ~]$ ansible yujian -m setup -a "filter=*kernel*" 121.122.123.47 | SUCCESS => { "ansible_facts": { "ansible_kernel": "4.18.0-80.11.2.el8_0.x86_64", "ansible_kernel_version": "#1 SMP Tue Sep 24 11:32:19 UTC 2019", "discovered_interpreter_python": "/usr/libexec/platform-python" }, "changed": false }
#*kernel*: 字段名中包含bios的
[liuhongdi@centos8 ~]$ ansible yujian -m setup -a "filter=*bios*" 121.122.123.47 | SUCCESS => { "ansible_facts": { "ansible_bios_date": "04/01/2014", "ansible_bios_version": "8c24b4c", "discovered_interpreter_python": "/usr/libexec/platform-python" }, "changed": false }
三,setup模块可以使用的其他过滤器:
setup返回信息中列出的字段很多,可以用字段名作为filter的参数值,
列出一些字段如下:
ansible_all_ipv4_addresses:显示ipv4的地址信息
ansible_distribution:显示linux发行版,例: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_vcpus:显示cpu个数(只显示总的个数)
ansible_python_version:显示python版本
四,查看ansible的版本:
[root@centos8 liuhongdi]# ansible --version ansible 2.9.5