设为首页 收藏本站
查看: 1185|回复: 0

[经验分享] SaltStack job manager及schedule的定义使用

[复制链接]

尚未签到

发表于 2018-8-1 09:09:01 | 显示全部楼层 |阅读模式
  Salt Minions 在Salt的cachedir中维护着一个proc目录,这个目录下用以存放着已已经执行过的job>cachedir下的pro目录中,默认配置为/var/cache/salt/proc
  jobs方法被定义在saltutil模块中,包含以下方法:

  •   running 返回proc目录下所有运行job的数据

  •   find_job 返回指定job>

  •   signal_job 允许向指定的job>

  •   term_job 向指定的job>

  •   kill_job 向指定的job>
jobs runner
  jobs runner包含有很多函数

  •   active 返回当前系统上正在运行的jobs
# salt-run jobs.active  lookup_jid执行后的结果数据发送回master,会被缓存在本地24小时,具体缓存时长可以通过keep_jobs参数控制,此时可以使用lookupjid 指定jid来查看该job当时执行结束后返回的结果
# salt-run jobs.lookup_jid <job id number>  list_jobs 返回截止当前时间本地所缓存的所有job数据
# salt-run jobs.list_jobsSCHEDULING JOBS
  schedule任务调度系统,可以将其理解为类似于linux系统上的crontab,可以执行任何的执行函数在minions上或者在master上任何的runner
  开启schedule,只需要在master或者minion的配置文件中开启schedule参数,或者为minion定义pillar数据 指定maxrunning用来开启对某个任务最多执行次数的限制。该值默认为1。
  对于在minion上执行state,可以通过位置参数或者按照yaml的字典格式提供命名参数,例如:

  •   STATES
schedule:  
  log-loadavg:
  
    function: cmd.run
  
    seconds: 3660
  
    args:
  
      - 'logger -t salt < /proc/loadavg'
  
    kwargs:
  
      stateful: False
  
      shell: True
  2.  HIGHSTATES
schedule:  
  highstate:
  
    function: state.highstate
  
    minutes: 60
  在minion的配置文件中或者pillar数据中,设置highstate,每60分钟运行一次,时间声明可以指定seconds, minutes, hours, days
  3.  RUNNERS
schedule:  
  overstate:
  
    function: state.over
  
    seconds: 35
  
    minutes: 30
  
    hours: 3
  配置在master的配置文件中
  4.  SCHEDULER WITH RETURNER
schedule:  
  uptime:
  
    function: status.uptime
  
    seconds: 60
  
    returner: mysql
  
  meminfo:
  
    function: status.meminfo
  
    minutes: 5
  
    returner: mysql

  •   schedule也可以将minon收集的数据通过returner收集到mysql数据库中.
  需要注意的是:当你通过pillar首次或者新增加schedule的定义时,记得要将pillar数据同步至对应minion上去。
# salt <tgt> saltutil.refresh_pillar

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-544506-1-1.html 上篇帖子: 学习saltstack之如何使用salt states 下篇帖子: SaltStack的SLS文件编写格式与YAML语法规范
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表