grains 存储位置minion端,数据类型:静态数据,数据采集更新方式:
minion启动时采集,也可以使用saltutil.sync_grains 进行刷新。
应用:存储minion基本数据,比如用于匹配minion,自身数据可以用来做资 产管理。
grains收集信息:
salt '*' grains.lssalt 'web13*' grains.items也可以单个显示salt '*' grains.item fqdnsalt '*' grains.item server_idsalt '*' grains.get ip_interfaces:eth0
grains匹配minion
#比如查看所有centos的机器上执行uptime命令:salt -G os:centos cmd.run 'uptime'web12.limingyu.com: 02:24:36 up 5:45, 1 user, load average: 0.06, 0.11, 0.08web13.limingyu.com: 02:24:37 up 5:45, 1 user, load average: 0.19, 0.09, 0.06#自定义grains:vim /etc/salt/minion#打下面几行 88 grains: 89 roles: 90 - webserver 91 - memcache 保存退出,重启minion/etc/init.d/salt-minion restartsalt -G 'roles:memcache' cmd.run 'echo hehe'或者vim /etc/salt/grainsweb: nginx保存退出,重启minionsalt '*' grains.item webweb12.limingyu.com: ---------- web: nginxweb13.limingyu.com: ---------- web: salt -G web:nginx cmd.run 'echo hehe'web12.limingyu.com: hehe
在top.sls里匹配:
vim /srv/salt/top.slsbase: 'web:nginx' : - match: grain - apache保存,重启服务salt -G web:nginx cmd.run 'w'