数据系统
1、可以匹配minion 2、能搜集系统信息
Grains:saltstack的组件,在里面存放着minion启动的信息,存储的minion端,只有在minion启动的时候才会搜集,例如:搜集阿里云数据内存,升级后到16G时还是8G,c除非得重启minion,所以被称为静态数据系统
1、信息查询/搜集,例如查询机器
[root@node1-saltstack salt]# salt ‘node2*’ grains.ls
node2-saltstack:
- SSDs
......
- zmqversion
全部grains值
[root@node1-saltstack salt]# salt ‘node2*’ grains.items
node2-saltstack:
----------
SSDs:
biosreleasedate:
05/20/2014
快速服务代码:可以查机器什么时候过保
.......
查看单个信息(或者使用grains.get fqdn):
[root@node1-saltstack salt]# salt ‘node2*’ grains.item fqdn
node2-saltstack:
----------
fqdn:
node2-saltstack
只显示值
[root@node1-saltstack salt]# salt ‘node2*’ grains.get fqdn
node2-saltstack:
node2-saltstack
2、第二个应用场景,匹配minnin:
搜集所有centos的信息:
[root@node1-saltstack salt]# salt -G os:CentOS cmd.run ‘pwd’
node2-saltstack:
/root
node1-saltstack:
/root
-G : 表示使用grains来匹配
3、支持自定义的grains
可以定义指定的机器的grains类型,例如加监控的时候,把指定的机器设置成Nginx,然后匹配所有的nginx都安装nginx服务
vim /etc/salt/minion
#打开注释
grains:
roles:
- webserver
- memcache
重启minion
systemctl restart salt-minion
匹配所有roles为memcache的机器
[root@node1-saltstack salt]# salt -G ‘roles:memcache’ cmd.run ‘echo hehe’
node1-saltstack:
hehe
4、默认会在,/etc/salt/grains里面读
vim /etc/salt/grains
web: nginx
重启minion
systemctl restart salt-minion
执行
[root@node1-saltstack salt]# salt -G ‘web:nginx’ cmd.run ‘echo hehe’
node1-saltstack:
hehe
第三种方法,在top.sls中执行grains过滤
vim top.sls
base:
'web:nginx':
- match: grain
- apache
执行:
[root@node1-saltstack salt]# salt '*' state.highstate