Ansible 日常维护和使用知识( 五 )



Ansible 日常维护和使用知识
文章图片
查看远端主机的CPU和内存大小:

Ansible 日常维护和使用知识
文章图片
查看远端主机的各文件系统大小和剩余容量:

Ansible 日常维护和使用知识
文章图片
在Playbook中 , Facts组件默认会收集很多的主机的基础信息 , 可以通过前面的Fact缓存机制 , 将这些信息缓存到本地目录或者内存数据库中 , 在做配置管理的时候进行引用 , 也可以用来将获取的主机基础信息自动同步到CMDB中去 , 实现基础信息的自动采集功能 。 下面通过通过演示 , 说明如何通过ansible-cmdb插件 , 实现远端主机CPU自动同步至外部CMDB系统中 。
首先 , 我们需要安装ansible-cmdb插件 , 下载链接如下:
https://files.pythonhosted.org/packages/37/1b/1fcff0a38a4e07d9d3f75113494ec0b25fd271b650bda52907ae1a80cbfb/ansible-cmdb-1.27.tar.gz
其次 , 开始安装ansible-cmdb插件:
gzip-dcansible-cmdb-1.27.tar.gz|tar-xvf-
cdansible-cmdb-1.27
pythonsetup.pyinstall
生成所有主机的Fact信息并用filter过滤出主机CPU值:
ansibleall-msetup-t/tmp/factout
ansibleall-msetup-a“filter=ansible_processor_count”-t/tmp/cpu
通过ansible-cmdb插件以csv或sql格式输出IP地址和CPU颗数值:
PATH=/usr/local/bin:$PATH
ansible-cmdb-tcsv-cname,cpus/tmp/cpu>/tmp/cpu.csv
ansible-cmdb-tsql/tmp/cpu>/tmp/cpu.sql
以csv格式或者sql格式导入信息至外部CMDB系统中(根据支持方式灵活选用) , 这里以postgres数据库为例 , 通过转csv格式为sql格式导入至外部CMDB系统:

Ansible 日常维护和使用知识
文章图片
当然 , 以上仅仅是简单的示例 , 事实上 , 我们可以利用好AnsibleFact的功能 , 实现更加复杂的CMDB自动化采集功能 。