簡單來說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:
mdadm:
可以看到已經成功返回了這個結果,這個就可以很靈活的讓我們收集到客戶端的資訊
SaltStack grains學習筆記
一 grains常見命令 1 檢視minion的所有grains salt scyd 192.168.1.10 grains.items 2 檢視grains的某個鍵值 以ipv4這個key為例 salt scyd 192.168.1.10 grains.get ipv4 3 刪除grains的某個...
模組 簡介, 自定義模組
模組 拿來就用 節省開發時間 提公升效率 結構化,便於查詢 便於修改,便於維護 模組分類 內建模組,第三方模組 pypi第三方模組平台 自定義模組 乙個py檔案就是乙個模組 模組名是不需要加字尾名的 為了防止重複匯入,python優化,第一次匯入後會把模組名載入到記憶體,後續的import語句僅是對...
自定義模組
自定義模組 也就是我們自己寫的 1.配置模組說明檔案 npm init 就會生成乙個package.json的檔案 main index.js 我們的主檔案是index.js index.js是這個包的輸出檔案,即便刪除了package.json只要不改變index.js的檔名就沒事,一旦改了就會報...