21-Ansible常用模組-setup模組
阿新 • • 發佈:2018-12-27
一、概述
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 概述。