wslsg 发表于 2018-1-3 16:40:12

SaltStack Job管理

  Job基本管理

  Jid: job>  在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  
页: [1]
查看完整版本: SaltStack Job管理