xuyangus 发表于 2018-8-1 08:48:00

saltstack grains模块自定义

  简单来说grains就是收集客户端的静态信息,然后返回给服务端,但是只有重启了salt-minion,客户端采取会去收集东西。
  1、先看默认都有哪些信息。salt '*' grains.items显示所有.

  可以看到很多客户端的相关信息,但是有时候我们需要自己自定义去收集信息,那么我们就要自己去定义这个模板了。举一个收集客户端ulimit -n的例子。
  步骤
  1、vim /etc/salt/master
  file_roots:
  base:
  - /srv/salt/
  2、建立自定义模块:
  cd /srv/salt
  mkdir _grains
  cd _grains
  3、定义模块:
  # cat file.py
  import os
  def file():
  grains={}
  file = os.popen('ulimit -n').read()
  grains['file']=file
  return grains
  #注意,定义grains的适合是一Key和value的字典方式存储的
  4、推送到客户端:
  salt '*' saltutil.sync_all
  5、检测结果:
  root@www _grains]# salt '*' grains.items
  www.oms.com:
  ----------
  SSDs:
  file:
  1024
  mdadm:
  可以看到已经成功返回了这个结果,这个就可以很灵活的让我们收集到客户端的信息
页: [1]
查看完整版本: saltstack grains模块自定义