saltstack(六) saltstack 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選項調整)

1  salt '*' test.ping -v          ##可以顯示任務的Jid,-v 顯示命令執行的詳細過程2 [root@zabbixserver79 haifeng18]# salt '*' test.ping -v
3 Executing job with jid 20160421214402034735
4 -------------------------------------------
5 192.168.10.11:
6 True
7 .........

 

https://github.com/saltstack/salt/pull/12365             ##salt-master -v時顯示詳細的執行結果
  wrapper returns summary to a function           ##點擊這個將代碼加入到master中

二,Job基本管理

 saltutil模塊中的job管理方法
  1, saltutil.running           ##查看minion當前正在運行的jobs

 1 [root@zabbixserver79 ~]# salt '* saltutil.running
 2 192.168.10.11:
 3     |_
 4       ----------
 5       arg:
 6           - sleep 30
 7       fun:
 8           cmd.run
 9       jid:
10           20160422112349721480
11       pid:
12           20379
13       ret:
14       tgt:
15           192.168.10.11 
16 tgt_type: 17 glob 18 user: 19 sudo_root

  2, saltutil.find_job <jid>    ##查看指定jid的job(minion正在運行的jobs)

 1 [root@zabbixserver79 ~]# salt '*' saltutil.find_job 20160422114120923967    ##首先執行saltutil.running 查看jid
 2 192.168.10.11:
 3     ----------
 4     arg:
 5         - sleep 30
 6     fun:
 7         cmd.run
 8     jid:
 9         20160422114120923967
10     pid:
11         23577
12     ret:
13     tgt:
14         192.168.10.11
15     tgt_type:
16         glob
17     user:
18         sudo_root

  3,saltutil.signal_job <jid> <single>   ##給指定的jid進程發送信號

1 [root@zabbixserver79 ~]# salt '*' saltutil.signal_job 20160422114328898570 9 
2 192.168.10.11:
3     Signal 9 sent to job 20160422114328898570 at pid 24281

   4,saltutil.term_job <jid>       ##終止指定的jid進程(信號為15)

1 [root@zabbixserver79 ~]# salt '*' saltutil.term_job 20160422114528346315
2 192.168.10.11:
3     Signal 15 sent to job 20160422114528346315 at pid 24737

  5,saltutil.kill_job <jid>         ##終止指定的jid進程(信號為9)同上,不在演示

  salt runner中的job管理方法:

  1,salt-run jobs.active          ##查看所有minion當前正在運行的jobs(在所有minion上運行saltutil.running)

 1 [root@zabbixserver79 ~]# salt-run jobs.active
 2 20160422115130700923:
 3     ----------
 4     Arguments:
 5         - sleep 30
 6     Function:
 7         cmd.run
 8     Returned:
 9     Running:
10         |_
11           ----------
12           192.168.10.11:
13               25659
14     Target:
15         192.168.10.11
16     Target-type:
17         glob
18     User:
19         sudo_root

  2, salt-run jobs.lookup_jid <jid>        ##從master jobs cache 中查詢指定jid的運行結果

 1 [root@zabbixserver79 jobs]# salt-run jobs.lookup_jid 20160421215616643464
 2 192.168.10.11:
 3     ----------
 4     arg:
 5         - sleep 20
 6     fun:
 7         cmd.run
 8     jid:
 9         20160421215601609702
10     pid:
11         27040
12     ret:
13     tgt:
14         192.168.10.11
15     tgt_type:
16         glob
17     user:
18         sudo_root

  3,salt-run jobs.list_jobs         ##列出當前master jobs cache 中的所有job

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM