因此,对于Linux服务器序列号的问题,我看起来有点“内置”的事实,看起来如果没有自定义的dmidecode ansible模块,它就不可用了。这是真的吗?我觉得很奇怪,由于内置的安全事实过多,所以不包括序列号。
$ /usr/bin/ansible --version
ansible 2.4.2.0
config file = /home/user/.ansible.cfg
configured module search path = ['/home/user/.ansible/plugins/modules',
u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.6/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.6.6 (r266:84292, Aug 9 2016, 06:11:56) [GCC 4.4.7
20120313 (Red Hat 4.4.7-17)]
答案 0 :(得分:3)
如Ansible documentation所述,收集事实是通过setup
模块完成的。
要查看Ansible清单文件中定义的所有主机的所有事实:
ansible all -m setup
要查看清单文件中存在的特定Linux主机(myserver01)的序列号:
ansible -b myserver01 -m setup -a 'filter=ansible_product_serial'
对于从不在清单文件中的主机(myserver01)收集的相同事实:
ansible -b -i myserver01, all -m setup -a 'filter=ansible_product_serial'
更新了包含@Henk注释的响应:ansible命令需要与become
(-b
)一起运行才能获取ansible_product_serial数据。如果您没有使用无密码权限提升,请同时添加-K
。