##文章来自于:carey.akhack.comansible factsfacts组件是ansible用于采集被管理机器设备信息的一个功能,我们可以用setup模块查看机器的所有fasct信息,可以
##文章来自于:carey.akhack.com
ansible facts
facts
组件是ansible
用于采集被管理机器设备信息的一个功能,我们可以用setup
模块查看机器的所有fasct
信息,可以使用filter
来查看指定信息。整个 facts
信息被包装在一个JSON
格式的数据结构中。
简单了解fscts结构
$ ansible centos -m setup //输出内容过多,自行尝试$ ansible centos -m setup -a 'filter=ansible_all_ipv4_addresses' //查看指定信息192.168.56.102 | SUCCESS => { "ansible_facts": { "ansible_all_ipv4_addresses": [ "192.168.56.102", "10.0.2.15", "192.168.31.14" ] }, "changed": false}192.168.56.101 | SUCCESS => { "ansible_facts": { "ansible_all_ipv4_addresses": [ "192.168.56.101", "10.0.2.15", "192.168.31.95" ] }, "changed": false}
使用facter扩展facts信息
ansible
的facts
组件会判断被控制主机上是否安装有facter
和ruby-json|rubygem-json
包,如果存在,会自动采集信息。
centos7 facter 下载地址
facter官网下载
$ ansible centos -m shell -a 'rpm -aq rubygem-json facter'192.168.56.102 | SUCCESS | rc=0 >>rubygem-json-1.7.7-29.el7.x86_64facter-2.4.1-1.el7.x86_64192.168.56.101 | SUCCESS | rc=0 >>rubygem-json-1.7.7-29.el7.x86_64facter-2.4.1-1.el7.x86_64
运行facter
模块查看facter
信息
$ ansible 192.168.56.102 -m facter //显示内容过多,自行尝试
使用ohai扩展facts信息
ohai
是chef
配置管理工具中检测节点属性的工具,ansible
的facts
也支持ohai
信息的采集,需要在被管理主机上安装ohai
包。
安装ohai
国内服务器需要更换地址RubyGems镜像-Ruby-China
更换gem sources地址为国内
$ ansible centos -m shell -a 'gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/'192.168.56.101 | SUCCESS | rc=0 >>https://gems.ruby-china.org/ added to sourceshttps://rubygems.org/ removed from sources192.168.56.102 | SUCCESS | rc=0 >>https://gems.ruby-china.org/ added to sourceshttps://rubygems.org/ removed from sources
查看gem sources地址
$ ansible centos -m shell -a 'gem sources -l'192.168.56.102 | SUCCESS | rc=0 >>*** CURRENT SOURCES ***https://gems.ruby-china.org/192.168.56.101 | SUCCESS | rc=0 >>*** CURRENT SOURCES ***https://gems.ruby-china.org/
安装ohai
ansible centos -m shell -a 'gem install ohai'
使用ohai
ansible centos -m ohai