简单来说grains就是收集客户端的静态信息,然后返回给服务端,但是只有重启了salt-minion,客户端采取会去收集东西。
1、先看默认都有哪些信息。salt ‘*‘ grains.items显示所有.
可以看到很多客户端的相关信息,但是有时候我们需要自己自定义去收集信息,那么我们就要自己去定义这个模板了。举一个收集客户端ulimit -n的例子。
步骤
1、vim /etc/salt/master
file_roots:
base:
- /srv/salt/
2、建立自定义模块:
cd /srv/salt
mkdir _grains
cd _grains
3、定义模块:
[root@www _grains]# cat file.py
import os
def file():
grains={}
file = os.popen(‘ulimit -n‘).read()
grains[‘file‘]=file
return grains
#注意,定义grains的适合是一Key和value的字典方式存储的
4、推送到客户端:
salt ‘*‘ saltutil.sync_all
5、检测结果:
root@www _grains]# salt ‘*‘ grains.items
www.oms.com:
----------
SSDs:
file:
1024
mdadm:
可以看到已经成功返回了这个结果,这个就可以很灵活的让我们收集到客户端的信息
本文出自 “小罗” 博客,请务必保留此出处http://xiaoluoge.blog.51cto.com/9141967/1612681
原文地址:http://xiaoluoge.blog.51cto.com/9141967/1612681