簡單來說grains就是收集用戶端的靜态資訊,然後傳回給服務端,但是隻有重新開機了salt-minion,用戶端采取會去收集東西。
1、先看預設都有哪些資訊。salt '*' grains.items顯示所有.
<a href="http://s3.51cto.com/wyfs02/M02/59/82/wKioL1TVzzzyYJGIAAC0l1kCMhQ606.jpg" target="_blank"></a>
可以看到很多用戶端的相關資訊,但是有時候我們需要自己自定義去收集資訊,那麼我們就要自己去定義這個模闆了。舉一個收集用戶端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:
可以看到已經成功傳回了這個結果,這個就可以很靈活的讓我們收集到用戶端的資訊
本文轉自 小羅ge11 51CTO部落格,原文連結:http://blog.51cto.com/xiaoluoge/1612681,如需轉載請自行聯系原作者