文章来自于carey的博客 :ansible facts组件采取设备信息
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_64
facter-2.4.1-1.el7.x86_64
192.168.56.101 | SUCCESS | rc=0 >>
rubygem-json-1.7.7-29.el7.x86_64
facter-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 sources
https://rubygems.org/ removed from sources
192.168.56.102 | SUCCESS | rc=0 >>
https://gems.ruby-china.org/ added to sources
https://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