runners学习

runners是由salt-run命令调用的,通常我用的到就是jobs和manage模块。源代码是在
python

./site-packages/salt/runners/下的。固然咱们能够自定义runners。缓存


先谈谈jobs模块。包含active、lookup_jid、list_job、list_jobs、print_job五种方法。app

salt-run jobs.active ->返回正在执行状态任务的信息,是个字典。ide

salt-run jobs.lookup_jid jid ->查看已经执行完成的任务对应jid返回的结果
spa

salt-run jobs.list_job jid -> 查看对应jid的信息:方法、参数、包含minion、任务开始时间等。blog

salt-run jobs.list_jobs -> 查看全部任务缓存的信息
utf-8

salt-run jobs.print_job jid -> 相似list_job
v8

下面给个截图:get

wKioL1PpjovzzNSCAAEtGBcTWWE024.jpg


manage模块。通常用到的方法是status、down、up、versions等。it

salt-run manage.status    ->输出minions的状态(up和down的状态)

salt-run manage.up      ->输出处于运行状态的minions

salt-run manage.down    ->输出处于中止状态的minions

salt-run manage.versions -> 输出minions的版本信息

我通常用这个模块来判断哪些机器有问题,哪些minions须要升级版本。

下面给个截图。

wKiom1PpjYLTYOv8AAFSeC0dEuw600.jpg


如今说说自定义runners。

首先须要修改下master配置文件,增长runners的查找路径。

runner_dirs: ['/srv/salt/_runners']

重启master


下面程序用于显示全部的minion id信息,文件名是kevin.py

#!/usr/bin/env python
# coding:utf-8

import salt

def get_minions():
        opts = salt.config.client_config('/opt/app/salt/etc/master')
        key = salt.key.KeyCLI(opts)
        ids = key.key.list_keys()
        for status,values in ids.items():
                for id in values:
                        print id


调用这个runner获取信息

salt-run kevin.get_minions
192.168.110.132
192.168.110.133
192.168.79.47


runners笔记先写到这里,便于之后使用。

相关文章
相关标签/搜索