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