Saltstack之自定義grains

一直以來都以爲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腳本得出的主機名可能須要根據實際狀況改下,這個腳本只是合適我這。

相關文章
相關標籤/搜索