一直以來都覺得Salt的grains夠用,自己也就沒去定義什麼東西,不過這次有個不太合適的地方,就是主機名
現在定義的主機名是bjXXX-mXpXXX-XXXX.XXXXabc.com這種形式,在zabbix的配置文件裏顯示的也是這種FQDN的形式(自動發現agent),所以看上去非常的長,覺得很不合適。但通過 salt-call grains.items看也沒什麼合適的,所以就決定自己寫個吧。
在salt服務器/etc/salt/下創建目錄_grains,編寫文件shostname.py,內容如下
import socket
#coding=utf-8
def shostname():
grains={}
hostname = socket.gethostbyname_ex(socket.gethostname())[1][1]
grains['shostname']=hostname
return grains
這些完成以後就需要同步到各minion端salt '*' saltutil.sync_all 及刷新各minion端salt '*' sys.reload_modules,然後就可以通過grains.items看到相關的信息了。
東西非常的簡單,主要是方便 。至於這個py腳本得出的主機名可能需要根據實際情況改下,這個腳本只是合適我這。