saltstack数据系统之Grains

第一个应用场景:信息的搜集

[[email protected] salt]# salt ‘linux-node1*‘ grains.ls              列出所有grains的名称

[[email protected] salt]# salt ‘linux-node1*‘ grains.items           列出所有grains的内容

[[email protected] salt]# salt ‘linux-node1*‘ grains.item fqdn

linux-node1.example.com:

----------

fqdn:

linux-node1.example.com

[[email protected] salt]# salt ‘linux-node1*‘ grains.get fqdn

linux-node1.example.com:

linux-node1.example.com

[[email protected] salt]# salt ‘linux-node1*‘ grains.get ip_interfaces:eth0        查所有eth0的ip地址

linux-node1.example.com:

- 10.0.0.7

- fe80::20c:29ff:fe5c:e013

###############################################################################################

第二个应用场景:匹配minion

[[email protected] salt]# salt ‘linux-node1*‘ grains.get os

linux-node1.example.com:

CentOS

[[email protected] salt]# salt -G os:CentOS cmd.run ‘w‘          -G:指的是使用grains进行匹配

linux-node2.example.com:

22:24:49 up  1:06,  1 user,  load average: 0.00, 0.00, 0.00

USER     TTY      FROM              [email protected]   IDLE   JCPU   PCPU WHAT

root     pts/0    10.0.0.1         21:19   22:25   0.02s  0.02s -bash

linux-node1.example.com:

22:24:49 up  1:06,  1 user,  load average: 0.00, 0.04, 0.07

USER     TTY      FROM              [email protected]   IDLE   JCPU   PCPU WHAT

root     pts/0    10.0.0.1         21:19    1.00s  1.09s  0.86s /usr/bin/python

第一种指定grains的方法,直接在配置文件中加

[[email protected] salt]# vim /etc/salt/minion

82 grains:

83   roles:

84     - webserver

85     - memcache

重新启动minion

[[email protected] salt]# /etc/init.d/salt-minion restart

Stopping salt-minion daemon:                               [确定]

Starting salt-minion daemon:                               [确定]

[[email protected] salt]# salt -G ‘roles:webserver‘ cmd.run ‘df -Th‘

linux-node1.example.com:     =====只有linux-node1返回了结果,因为在linux-node1的配置文件中指定了角色

Filesystem     Type   Size  Used Avail Use% Mounted on

/dev/sda3      ext4    19G  1.8G   16G  11% /

tmpfs          tmpfs  937M   16K  937M   1% /dev/shm

/dev/sda1      ext4   190M   36M  145M  20% /boot

另外一种指定grains的方法:

[[email protected] salt]# cat /etc/salt/grains

web: nginx

[[email protected] salt]# /etc/init.d/salt-minion restart

Stopping salt-minion daemon:                               [确定]

Starting salt-minion daemon:                               [确定]

[[email protected] salt]# salt -G web:nginx cmd.run ‘w‘

linux-node1.example.com:   ===========只在设置了角色的机器上返回了值,匹配是成功的

22:39:32 up  1:21,  1 user,  load average: 0.15, 0.09, 0.06

USER     TTY      FROM              [email protected]   IDLE   JCPU   PCPU WHAT

root     pts/0    10.0.0.1         21:19    1.00s  1.15s  0.83s /usr/bin/python

###############################################################################################

在top file里面指定grains

[[email protected] salt]# cat /srv/salt/top.sls

base:

‘web:nginx‘:

- match: grain

- apache

[[email protected] salt]# salt ‘*‘ state.highstate         执行高级状态,则显示已匹配到的一台执行了

老男孩网址:http://www.etiantian.org/

qq:406564728

欢迎提出宝贵建议

时间: 2024-12-16 10:44:49

saltstack数据系统之Grains的相关文章

SaltStack数据系统之Grains、Pillar

SaltStack数据系统之Grains.Pillar 1.什么是Grains? Grains是saltstack的组件,用于收集salt-minion在启动时候的信息,又称为静态信息.Grains是服务器的一系列粒子信息,也就是服务器的一系列物理,软件环境信息.在执行salt的sls时候可以根据Grains信息的不同对服务器进行匹配分组,例如可以根据系统是centos服务器跟系统是redhat环境的安装不同的软件包.Grains功能:1.收集资产信息 2.信息查询 官方文档:https://d

saltstack 数据系统之 grains 简单学习

saltsatck 主要的使用场景有两个 1.远程执行 2.配置管理 3.云管理 目前云管理还不太成熟,所以现在使用最多的就是前两个.接下来要分析的就是salt 里面非常重要的两个数据系统 grains.pillar 之一的 grains. grains 是minion 端获取客户端本地相关信息,在每次 minion 启动的时候获取一次,可以理解为静态信息,像 ip,主机名,CPU等等信息都会获取. 一些关于 grains 的命令: salt  'host2'  grains.ls    # 获

saltstack数据系统之Grains,pillar

Grains grains 负责采集客户端(minion端)一些基本信息 ,这个也完全可以自定义,可以在客户端自定义,然后自动汇报上来,也可以从服务器端定义然后推下去,采集完后再汇报上来(重启才收集),也可以使用saltutil.sync_grains进行刷新 1.grains之收集信息 [[email protected] salt]# salt 'node1*' grains.ls [[email protected] salt]# salt 'node1' grains.items查看收集

SaltStack数据系统

SaltStack数据系统 两种数据系统:Grains和Pillar 1.Grains介绍 Grains又被成为静态数据.Minion启动的时候收集的minion本地的相关信息(操作系统版本,内核版本,CPU,内存,硬盘,设备型号,序列号). Grains功能 (1)资产管理:信息查询 (2)用于目标选择 (3)配置管理中使用 2.查看grains 把所有grains里的key都列出来 [[email protected] /etc/salt]# salt 'linux-node1*' grai

saltstack 数据系统——Grains

grains收集信息: salt '*' grains.ls salt 'web13*' grains.items 也可以单个显示 salt '*' grains.item fqdn salt '*' grains.item server_id salt '*' grains.get ip_interfaces:eth0 grains匹配minion #比如查看所有centos的机器上执行uptime命令: salt -G os:centos cmd.run 'uptime' web12.lim

一 saltstack 数据系统 远程执行

saltstack总结 官方中文网站 官方英文网站 1. 简介 三大功能 远程执行 配置管理 云管理 四种运行方式 local master / minion c/s模式(常用) syndic - (相当于zabbix proxy) salt ssh 2. 安装 1. 环境声明 系统版本和内核: CentOS Linux release 7.2.1511 (Core) 3.10.0-327.el7.x86_64 基础环境: salt-master 10.0.0.204 salt-minion 1

【2】Saltstack handbook:Grains and Pillar

写在前面的话 上一节谈及了 Saltstack 的安装和初始化配置,本节将谈谈 Saltstack 中两个重要的东西,Grains 和 Pillar. 数据系统 Grains 入门 Grains 是静态数据,其数据来源于 Minion 启动的时候收集的有关客户端本地的相关信息. 包括操作系统,内核,CPU,内存,硬盘,设备型号等等.这就意味着我们可以使用 Saltstack 做资产管理. 这些静态数据除非是  Minion 重启或者 Master 端主动同步更新,否则不会改变. 1. 查看 gr

配置管理工具Saltstack 之 自定义grains

salt master配置 # cat /etc/salt/master|grep -v '#' interface: 192.168.xxx.xxx worker_threads: 15 auto_accept: True file_roots: base: - /data/salt/base 自定义grains有两种方法,第一种minion端配置,但是需要重启minion生效:第二种在master端配置,同步之后生效,不需要重启master或者minion 本例以第二种方法master端自定

saltstack数据系统之Pillar

在master上面打开系统自带的pillar: [[email protected] ~]# vim /etc/salt/master 556 pillar_opts: True [[email protected] ~]# /etc/init.d/salt-master restart Stopping salt-master daemon:                               [确定] Starting salt-master daemon: