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'