saltsatck-grains

grains时saltstack组件中非常重要的组件之一,grains时saltstack记录minion的一些静态信息的组件,我们可以理解未grains记录着每台minion的一些常用属性,譬如cpu,内存,磁盘,网络信息等。

[[email protected] ~]# salt ‘slave‘ grains.ls    //查看grains记录的信息
slave:
    - SSDs
    - biosreleasedate
    - biosversion
    - cab_u
    - cabinet
    - cpu_flags
    - cpu_model
    - cpuarch
    - deployment
    - domain
    - fqdn
    - fqdn_ip4
    - fqdn_ip6
    - gpus
    - host
    - hwaddr_interfaces
    - id
    - init
    - ip4_interfaces
    - ip6_interfaces
    - ip_interfaces
    - ipv4
    - ipv6
    - kernel
    - kernelrelease
    - locale_info
    - localhost
    - lsb_distrib_codename
    - lsb_distrib_id
    - lsb_distrib_release
    - machine_id
    - manufacturer
    - master
    - mdadm
    - mem_total
    - myname
    - nodename
    - num_cpus
    - num_gpus
    - os
    - os_family
    - osarch
    - oscodename
    - osfinger
    - osfullname
    - osmajorrelease
    - osrelease
    - osrelease_info
    - path
    - productname
    - ps
    - pythonexecutable
    - pythonpath
    - pythonversion
    - role
    - roles
    - saltpath
    - saltversion
    - saltversioninfo
    - selinux
    - serialnumber
    - server_id
    - shell
    - virtual
    - web
    - zmqversion
    
若查看grains记录的具体的值:
[[email protected] ~]# salt ‘slave‘ grains.items
slave:
    ----------
    SSDs:
    biosreleasedate:
        07/31/2013
        ..........
    biosversion:
  
        Intel(R) Core(TM) i3-3110M CPU @ 2.40GHz
    cpuarch:
        i686
    deployment:
        datacenter4
    domain:
    fq
        VMware, Inc.
    
    num_gpus:
        1
    os:
        CentOS
    os_family:
        RedHat

在实际的应用中,我们可以根据自己的需求定制一些grains,可采用如下的方法:

1:通过minion的设置定义;

这种方法就是修改minion的配置文件,把配置文件“default_include: minion.d/*.conf”前的注释去掉,然后在默认的目录中写入grains脚本。

[[email protected] ~]# cat /etc/salt/minion.d/grains.conf 
grains:
  roles:
    - webserver
    - memcache
  deployment: datacenter4
  cabinet: 13
  cab_u: 14-15

然后在master上运行一下:

[[email protected] ~]# salt ‘slave‘ grains.item roles
slave:
    ----------
    roles:
        - webserver
        - memcache
[[email protected] ~]# salt ‘slave‘ grains.item deployment
slave:
    ----------
    deployment:
        datacenter4
时间: 2024-10-14 12:07:09

saltsatck-grains的相关文章

自动化运维Saltstack系列(三)之YAML和自定义Grains、Pillar

先来看看Saltstack的配置文件 Master [[email protected] ~]# vim /etc/salt/master Minion [[email protected] ~]# vim /etc/salt/minion 两者里面的配置项大同小异,其中master是我们需要重点配置的对象 大部分配置都可以保持默认无需改动,在部署大规模Saltstack环境需要自定义一些参数的时候才需要根据实际需求修改:其中一些比较重要的配置项: publish_port: 4505 # Sa

saltstack 数据系统之 grains 简单学习

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

Saltstack之Grains组件

参考:刘天斯<Python自动化运维技术与最佳实践> grains是Saltstack最重要的组件之一,grains的作用是收集被控主机的基本信息,这些信息通常都是一些静态类的数据,包括CPU.内核.操作系统.虚拟化等,在服务器端可以根据这些信息进行灵活定制,管理员可以利用这些信息对不同业务进行个性化定制. 获取所有主机的grains项信息,发现没有max_openfile,等会我们手动编写一个. [[email protected] base]# salt '*' grains.ls sal

saltstack2 grains模块

###Grains模块:### grains的应用场景: 1.信息查询 2.在远程执行里面匹配minion 比如我想要在所有centos的机器上执行一个命令 3.在top.sls里面匹配minion 4.在配置文件的模板里使用 1.信息查询 ###把所有grains的key列出来,grains支持的所有模块 [[email protected]_master ~]# salt 'minion.saltstack.com' grains.ls minion.saltstack.com: - SSD

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之三Grains组件

运维工具SaltStack之三Grains组件 一.grains组件介绍 grains是收集Minion主机的静态.不常变化的基本信息,存储在Minion端本地,如:CPU.内核.操作系统.虚拟化等,并且服务器端可以根据这些信息进行灵活定制或个性化定制,是Saltstack最重要的组件之一,多用来做资产管理的信息收集,主要解决平台的差异性. 如可以使用以下命令: #salt 'minion01' grains.items  #获取minion01主机基本信息 二.grains组件自定义 自定义g

saltstack之grains详解

什么是grains: 是salt的一个组件,负责minion第一次启动的时候采集的静态数据,可以用在salt的模块和其他组件中.每次的minion启动(重启)的时候都会采集. 应用场景: 1.在state中使用 用于配置管理模块2.在target中使用,用来匹配minion,例如匹配操作系统使用-G的选项3.用于信息查询,grains保存收集到的客户端的详细信息 查看grains: # salt 'node23.com' grains.ls #查看grains的名称 salt 'node23.c

Saltstack的Grains和Pillar比较

1.存放位置 Grains:Minion端 Pillar:Master端 2.数据类型 Grains:静态数据 Pillar:动态数据 3.数据采集更新方式 Grains:Minion启动时收集,也可以使用salt '*' saltutil.sync_grains进行刷新 Pillar:在Master端定义,指定给对应的Minion.可以使用salt '*' saltutil.refresh_pillar刷新 4.应用 Grains:存储Minion基本护具,比如用于匹配Minion,自身收据可

2.3-saltstack grains

grains      #收集设备的所有信息 grains是在minion启动时收集到的一些信息,比如操作系统类型.网卡ip.内核版本.CPU架构等. 使用命令 salt 'client.wyp.com' grains.ls 列出所有的grains项目名字 salt 'client.wyp.com' grains.items 列出所有grains项目以及值 grains的信息并不是动态的,并不会时时变更,它只是在minion启动时收集到的. 我们可以根据grains收集到的一些信息,做配置管理工

salt服务端向客户端同步grains错误一枚

在执行salt \* saltutil.sync_grains minion.salt.com:     The minion function caused an exception: Traceback (most recent call last):       File "/usr/lib/python2.6/site-packages/salt/minion.py", line 1200, in _thread_return         return_data = fun