如何使用ansible查找Linux主机的序列号

时间:2018-02-27 21:09:24

标签: ansible ansible-2.x ansible-facts

因此,对于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)]

1 个答案:

答案 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