首页 > 代码库 > SaltSack 自动化运维2

SaltSack 自动化运维2

1.SaltStack数据系统

Grains:存储在minion端,启动时收集信息,静态数据,重启时才会重新收集,

a.应用场景:信息查询,

[root@salt-master salt]# salt ‘salt-master‘ grains.ls         # 显示ls[root@salt-master salt]# salt ‘salt-master‘ grains.items    # 显示所有[root@salt-master salt]# salt ‘salt-master‘ grains.get fqdn  salt-master:    salt-master.xiao.com[root@salt-master salt]# salt ‘salt-master‘ grains.get server_idsalt-master:    894500124[root@salt-master salt]# salt ‘salt-master‘ grains.get ip_interfaces:eth0salt-master:    - 192.168.2.12    - fe80::20c:29ff:fe99:4d5e

b.匹配minion

[root@salt-master salt]# salt -G os:CentOS cmd.run ‘w‘salt-master:     05:26:01 up  1:07,  1 user,  load average: 0.00, 0.00, 0.00    USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT    root     pts/0    192.168.2.1      04:19    0.00s  0.80s  0.55s /usr/bin/pythonsalt-minion:     05:36:34 up  1:07,  1 user,  load average: 0.00, 0.00, 0.00    USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT    root     pts/0    192.168.2.1      04:30   25:21   0.15s  0.15s -bash

 自定义grains,

[root@salt-master salt]# vim /etc/salt/minion   # 打开注释88 grains: 89   roles: 90     - webserver 91     - memcache[root@salt-master salt]# salt -G ‘roles:memcache‘ cmd.run ‘echo hehe‘   # 在memcached的机器上执行echo hehesalt-master:    hehe

 或者在vim /etc/salt/grains建立

[root@salt-master salt]# vim /etc/salt/grains        # 自定义建立一个grains的nginxweb规则nginxweb: nginx~                                                                                              [root@salt-master salt]# /etc/init.d/salt-minion restart[root@salt-master salt]# salt -G nginxweb:nginx cmd.run ‘w‘  # 查找minion匹配到有nginxweb:nginx的机器执行w命令salt-master:     05:39:53 up  1:21,  1 user,  load average: 0.08, 0.02, 0.01    USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT    root     pts/0    192.168.2.1      04:19    1.00s  0.85s  0.53s /usr/bin/python[root@salt-master salt]# vim /srv/salt/top.sls      # 建立高级sls命令base:  ‘nginxweb:nginx‘:                                 # 关联上面grain中自定义的规则    - match: grain    - apache[root@salt-master salt]# salt ‘*‘ state.hightstate  # 执行

 

SaltSack 自动化运维2