SaltStack Job管理

 

 

Job基本管理

 Jid: job id,格式为%Y%m%d%H%M%S%f

 在master在下发指令消息时,会附带上产生的jid.minion在接收到指令开始执行时,会

在本地的cachedir(默认是/var/cache/salt/minion/)下的proc目录下产生以该jid

命名的文件,用于在执行过程中master查看当前任务的执行情况,指令执行完毕

将结果传送给master后,删除该临时文件

 

master将minion的执行结果存放在本地/var/cache/salt/master/jobs目录

默认缓存24小时(可以通过修改master配置文件keepjobs选项调整)

 

 

SaltStack模块中的job管理方法

#查看minion当前正在运行的jobs
# salt '*' saltutil.running

#查看指定jid的job(minion正在运行的jobs)
## salt '*' saltutil.find_job <jid>

#给指定的jid进程发送信号
## salt '*' saltutil.signal_job <jid> <single>

#终止指定的jid进程
# salt '*' saltutil.term_job <jid>

#终止指定的jid进程(信号为9)
## salt '*' saltutil.kill_job <jid>

 

salt runner中的job管理方法

#查看所有minion当前正在运行的jobs(在所有minions上运行saltutil.running)
## salt-run jobs.active

#从master jobs cache中查询指定jid的运行结果
#salt-run jobs.lookup_jid <jid>

#列出当前master jobs cache中所有job
# salt-run jobs.list_jobs

 

更得jobs参考

http://docs.saltstack.com/en/latest/topics/jobs/index.html

 

Schedule任务管理

SaltStack可以很容易实现批量计算任务的创建和管理

按照官方文档的描述,计划任务有3种配置方式,分别是

1 在master配置文件中配置

 

2 在minion配置文件中配置

 

3 在pillar中配置


每30分钟minion执行一次highstate(配置在minion配置文件或pillar中)

 

 


每分钟查询一次loadavage,并将结果输出到mysql returner中

案例:

每分钟minion端执行时间

# pwd
/srv/pillar/base
# cat schedule.sls 
schedule:
  hellowworld:
    function: cmd.run
    args:
      - date >> /tmp/test.log
    minutes: 1

# cat top.sls 
base:
  'hzbj-tomcat-02(1|2)':
    - match: pcre
    - zabbix-agent
    - schedule

 

posted @ 2016-12-11 14:31  叶小宠  阅读(3212)  评论(0编辑  收藏  举报