天天看點

saltstack grains子產品自定義

  簡單來說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,如需轉載請自行聯系原作者