一,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
