一直以来都以为Salt的grains够用,本身也就没去定义什么东西,不过此次有个不太合适的地方,就是主机名服务器
如今定义的主机名是bjXXX-mXpXXX-XXXX.XXXXabc.com这种形式,在zabbix的配置文件里显示的也是这种FQDN的形式(自动发现agent),因此看上去很是的长,以为很不合适。但经过 salt-call grains.items看也没什么合适的,因此就决定本身写个吧。socket
在salt服务器/etc/salt/下建立目录_grains,编写文件shostname.py,内容以下 ide
import socketutf-8
#coding=utf-8get
def shostname():同步
grains={}it
hostname = socket.gethostbyname_ex(socket.gethostname())[1][1]io
grains['shostname']=hostnameclass
return grainsimport
这些完成之后就须要同步到各minion端salt '*' saltutil.sync_all 及刷新各minion端salt '*' sys.reload_modules,而后就能够经过grains.items看到相关的信息了。
东西很是的简单,主要是方便 。至于这个py脚本得出的主机名可能须要根据实际状况改下,这个脚本只是合适我这。