标签:问题 state 目录 minion font blog min roc 收集
job management
salt在job任务上的管理
使用saltutil模块进行任务管理
1、running 返回在 proc 目录下找到的所有正在运行的任务.
示例:
ll /var/cache/salt/minion/proc/
-rw-r--r-- 1 root root 109 Aug 24 21:28 20170824212833356710
2、find_job 返回指定任务ID的详细数据.
salt ‘10.XX.X.19‘ saltutil.find_job 20170824213949924876
10.88.4.19:
----------
arg:
- sleep 50;echo 1
fun:
cmd.run
jid:
20170824213949924876
pid:
32584
ret:
tgt:
10.88.4.19
tgt_type:
glob
user:
root
3、signal_job 允许给指定任务ID发送一个信号.
4、term_job 发送termination信号(SIGTERM, 15)给指定的任务.
5、kill_job 发送kill信号(SIGKILL, 9)给指定的任务.
这是一个非常好的问题,也是平时容易遇到的一个问题,关于调用脚本执行出现问题的时候
需要kill的情况,父子进程彻底kill掉
http://www.huangdc.com/66
https://my.oschina.net/dchuang/blog/489664
这些方法是提供了在minion级别管理任务的核心.
使用salt-run进行任务管理,在master端执行命令
salt-run jobs.active
#查询当前所有在minion端正在执行的任务,相当于在所有机器上运行saltutil.running
salt-run jobs.lookup_jid
#由于master默认设置可以保留24小时的jobs的结果信息,所以可以查询到最近执行过的任务
历史结果
salt-run jobs.list_jobs
#列出最近缓存的任务结果,很多都是系统内部通信的任务
SaltStack通过Schedule实现批量的计划任务和管理,主要任务定期执行配置同步、执行命令等等。
可以在master端和minion端配置schedule
在master的pillar环境目录中设置定时任务
示例:
more top.sls
abc:
‘10.64.1.127‘:
- schedule #导入的模块名
more schedule.sls
schedule:
log-loadavg: #任务名
function: cmd.run #函数
seconds: 3 #时间间隔
args:
- ‘echo "1" >> /opt/a‘
kwargs:
stateful: False
shell: /bin/sh
salt "10.XX.1.127" saltutil.refresh_pillar
#将任务推送到minion
#salt "10.XX.1.127" pillar.get schedule
查询minion端有哪些定时任务
如果要删除在pillar上设置的定时任务,则需要在删除定时任务的配置并
使用saltutil.refresh_pillar更新,收集到的信息可以放入数据库里面。
注意:目前暂时没有发现在minion端配置定时任务的方法。
标签:问题 state 目录 minion font blog min roc 收集
原文地址:http://www.cnblogs.com/solitarywares/p/7425942.html